-
파이썬 기본편 정리(2)공부일기/파이썬 2020. 8. 15. 00:42
함수
def를 이용해 새로운 함수 정의할 수 있다
전달값과 반환값
def 함수(전달값)
Return 반환값
기본값
def profile(name, age=20, main_lang=“Python”):
print(“이름: {}, 나이: {}, 주 사용 언어: {}”.format(name, age, main_lang))
profile(“유재석”)
profile(“김태호”)
>>> 이름: 유재석, 나이: 20, 주 사용 언어: Python
>>> 이름: 김태호, 나이: 20, 주 사용 언어: Python
키워드값
매개변수에 값을 직접 지정해 출력할 수 있다.
가변인자
서로 다른 개수의 값을 넣어줄 때는 *로 시작되는 매개변수를 이용해 활용할 수 있다.
지역변수와 전역변수 *
global 이란 키워드를 사용해 전역변수를 설정해 줄 수 있다.
표준 입출력
sep: 쉼표 에 어떤 것을 입력할 지 정할 수 있다.
end: \n을 하지 않고 문장의 끝을 바꿔줄 수 있다.
.ljust( ) .rjust( ): 괄호 안의 칸을 확보 하고 왼쪽, 오른쪽 정렬이 가능하다
.zfill( ) : 괄호 안의 칸을 확보하고 값이 없을 경우 0으로 채운다.
input으로 입력값을 받는 경우 항상 str 형태로 저장된다.
다양한 출력 포맷
-출력값
>>> 500
>>> +500
>>> -500
>>> 500_______
>>> 10,000,000,000
>>> +10,000,000,000
>>> -10,000,000,000
>>> +10,000,000,000ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
>>> 1.666667
>>> 1.67클래스
붕어빵 틀에 비유할 수 있다(모양을 갖추고 재료를 넣으면 틀에 맞춰 생성). 서로 연관이 있는 변수와 함수의 집합
클래스로부터 만들어지는 녀석들을 ‘객체’라고 표현한다.
실현돼 있는 마린, 탱크 같은 녀석들은 ‘인스턴스’
__init__
파이썬에서 사용되는 생성자, 자동으로 호출되는 부분
설정한 클래스 함수에서 셀프를 제외하고 정의된 갯수만큼 입력해 줘야 객체 생성 가능.
위의 예시에선 name, hp, damage 가 필요.
멤버변수
클래스 내에서 정의 된 변수. name, hp, damage 등등
클래스 외부에서 내가 원하는 변수에 대해 확장을 할 수도 있고, 확장된 변수는 내가 확장한 객체에만 적용된다.
메소드
attack, damaged 라는 함수를 만들고 메소드로 사용할 수 있다.
상속
다중상속
자식클래스가 상속받는 부모클래스가 2개 이상인 경우
메소드 오버라이딩
자식 클래스에서 정의한 메소드를 사용하고 싶을 때, 메소드를 새롭게 정의해서 사용하는 것
pass
아무런 동작을 하지 않고 프로그램을 종료함
Super
super().__init__( )의 형태로 사용하며 super() 사용시 self 없이 사용
다중상속을 받을 경우 super 맨처음 클래스에 대해서만 init 함수가 호출된다.
예외처리
try, except를 활용해 예외처리를 할 수 있다.
Exception as err를 사용할 시 에러메시지를 그대로 출력할 수도 있다.
사용자 정의 예외처리
에러 발생시키기
raise를 이용해 에러를 발생시킬 수 있음.
Finally
try문 내에 있는 명령이 실행 되든 오류가 나든 상관없이 무조건 실행되는 구문
모듈
함수의 정의나 클래스 등 파이썬 문장들을 담고 있는 것.
필요한 것들끼리 부품처럼 잘 만드는 것을 모듈화
Ex) 자동차 이용 중 타이어나 범퍼 파손시 해당 부품만 교체하면 됨.
모듈을 사용하려는 폴더와 같은 경로에 있거나 파이썬 라이브러리들이 모여있는 폴더에 있어야 사용 가능
다양한 형태로 모듈을 불러와 사용할 수 있다.
패키지
모듈들을 모아 놓은 집합. 하나의 디렉토리에 여러 모듈 파일들을 모아 놓은 것.
__all__
패키지 안의 __init__파일을 통해 from travel import * 사용 가능
__all__ = [ ] 방식으로 사용 가능
모듈 직접 실행
If __name__ == ‘__main__’
함수 표현을 통해 모듈 내에서 직접 실행하는지, 외부에서 불러와서 실행하는지 구분 가능
pip install
pypi.org 페이지를 통해 다양한 패키지를 다운받을 수 있다.
터미널창에 ‘pip install 이름’을 통해 설치
pip list: 설치된 패키지 확인
pip show 이름: 패키지 정보 확인
pip install —upgrade 이름: 패키지 업그레이드
pip uninstall 이름: 패키지 삭제
내장함수
input: 사용자 입력을 받는 함수
dir: 어떤 객체를 넘겨줬을 때 그 객체가 어떤 변수와 함수를 가지고 있는지 표시
등등…
구글에 list of python builtins 검색을 통해 다양한 내장함수 확인 가능
외장함수
직접 import해서 사용해야 하는 것
구글에서 list of python modules 검색시 외장함수 목록 확인 가능
glob: 경로 내의 폴더/ 파일 목록 조회(윈도우 dir)
>>> print(glob.glob(“*.py”)) # 확장자가 py 인 모든 파일
os: 운영체제에서 제공하는 기본 기능
time: 시간 관련 함수
>>> print(time.localtime())
>>> print(time.strttime(“%Y-%m-%d %H:%M:%S”)
import datetime
print(“오늘 날짜는”, datetime.date.today())
timedelta: 두 날짜 사이의 간격
today = datetime.date.today()
td = datetime.timedelta(days=100)
>>>print(“우리가 만난지 100일은”, today + td)
// 두 번에 걸쳐서 정리를 끝냈는데, 클래스 부분부터는 좀 헷갈렸다. 들었을 땐 이해가 갔지만 정리하려니 꽤 많은 양이였고, 직접 따라해보는게 훨씬 이해가 쉬워서 강의를 보면서 다시 이해해도 괜찮을 것 같다.
아마 Do it! 점프 투 파이썬 책을 재구성해서 강의를 만드신 것 같다. 도서관에서 책의 목차를 보고 나중에 한 번 봐야지 했었는데 오히려 더 쉬운 예시들을 통해 설명하고 있어서 책은 따로 안 볼 예정.
'공부일기 > 파이썬' 카테고리의 다른 글
파이썬 기본편 정리(1) (0) 2020.08.09