Dev Language/Python
[파이썬 기초] #4
ydin
2021. 11. 15. 21:16
- 공부한 날짜: 2021.10.2n
- 기록: 2021.11.19
- 시작 전 기본개념
- 클래스(붕어빵 틀) and 인스턴스(클래스를 가지고 코드에서 사용하는 어떤 객체) 차이 이해
- 네임스페이스: 객체를 인스턴스화 할 때 저장된 공간
- 클래스 변수: 직접 접근 가능하고 공유함
- 인스턴스 변수: 객체마다 별도 존재
- 예제 #1
-object는 상속 받는다. ()/(object) 다 가능
-firstdog가 클래스 변수 이므로 클래스, 인스턴스 모두 공유한다
- 예제2 : self 이해하기
- 매개변수, self가 없으면 클래스 / self가 있으면 인스턴스 메서드(인스턴스 메서드에 대해 공부 더 해보기)
- f 호출하는 방법 두가지: 인스턴스로 바로 호출 or 클래스-> 메서드 -> 파라미터 순으로 호출
-func1()은 클래스이므로 파라미터 없이 바로 호출(이게 맞나?)
- 예제3
- 인스턴스 생성, 인스턴스 하나 생길 때마다 stock_num 하나씩 증가
- 예제4
- 인스턴스 생성
-여기서 Info()에는 왜 아무런 파라미터도 안들어 감?? Info(self)로 선언 되어서 그런가. 찾아보기
들어가기 전 개념
- Module: 함수, 변수, 클래스 등 파이썬 구성 요소 등을 모아놓은 파일
- 파이썬 패키지(폴더)
- 패키지 작성 및 사용법
- 파이썬은 패키지로 분할된 개별적인 모듈로 구성된다
- __init__.py: Python 3.3부터는 없어도 패키지로 인식 -> 단, 하위 호환을 위해 작성 추천
- 상대경로: ..(부모디렉토리) .(현재 디렉토리) -> 모듈 내부에서만 사용
- 오픈 소스 등에 쓰일 수 있으므로 모듈 사용은 중요하다
- 모듈 불러오는 법
파이썬 예외처리의 이해
- 예외는 반드시 처리해야 한다
- 로그는 만드시 남긴다
- 예외는 던져질 수 있다(다른데로 처리를 위임할 수 있다)
- 어떤 예외는 무시(되도록이면 하지 말기)
- 예외 없는 것을 가정하고 프로그램 작성 -> 런타임 때 예외 발생 시 예외처리 권장(EAEP)
- 예외 처리 종류
- Syntax Error
- TypeError
- Name Error
- IndexError
- ValueError
1. SyntaxError: 문법 오류
2. NameError : 참조 없음
3. ZeroDivisionError(0으로 나누는 경우)
4. IndexError
5. KeyError
6. AttributeError: 모듈, 클래스에 있는 잘못된 속성 사용 예외
7. ValueError, 시퀀스 자료구조에서 존재하지 않는 값 참조시 발생
8. FileNotFoundError
9. TypeError: 자료형에 맞지 않는 연산을 수행 할 경우 (리트스+튜플, 리스트+str,,,)
예외처리 기본
- try: 에러가 발생 할 가능성이 있는 코드 실행
- except 에러명1: 여러개 가능
- except 에러명2:
- 예시: except Exception as e / except ValueError(Exception)
- else: try 블록에 에러가 없을 경우 실행
- finally: 항상 마지막에 실행 / 예외가 발생해도 한번은 실행
- raise로 예외 직접 발생