반응형
1. 객체 지향 프로그래밍
1) 객체
- 객체 : 실생활에서 일종의 물건. 속성과 행동을 가짐
- OOP는 이러한 객체 개념을 프로그램으로 표현
- 속성은 변수(variable), 행동은 함수(method)로 표현됨
- OOP는 클래스(class)와 인스터스(instance)로 나눔
2) 객체 지향 프로그래밍의 약속
- snake_case : 띄워쓰기 부분에 “_”(언더바) 추가. 파이썬 함수나 변수명에 사용
- CamelCase : 띄어쓰기 부분에 대문에. 파이썬 Class명에 사용
- 파이썬에서 __의 의미(언더바2개) : 특수한 예약함수나 함수명 변경(맨글링)으로 사용
3) 속성
- Attribute 추가는 __init__, self와 함께쓴다
- __init__는 객체 초기화 예약 함수이다
- __str__ : 해당 클래스를 문자열처럼 사용해야하는 상황인 경우(print 함수)
- __add__ : 값을 더해주는 함수
- 위와 같은 함수를 매직 메서드라 한다. 매우 다양함(참고자료 : https://corikachu.github.io/articles/python/python-magic-method)
4) 객체 지향을 위해 필요한 것들
- 상속 : 부모클래스로 부터 속성과 Method를 물려받은 자식 클래스를 생성 하는 것
- 다형성 : 같은 이름 메소드의 내부 로직을 다르게 작성
- 가시성 : 객체의 정보를 볼 수 있는 레벨을 조절하는 것
5) 일급함수
- 파이썬은 일급함수로 변수나 데이터 구조에 할당이 가능하다.
- Inner function : 함수 내에 또 다른 함수 존재
2. 모듈과 패키지
1) 모듈
- 어떤 대상의 부분 혹은 조각
- 프로그램에서 작은 프로그램 조각들
- 프로그램을 모듈화 시키면 다른 프로그램이 사용하기 쉬움
- 파이썬에서 py파일을 의미
- 예를들어, fah_convert.py에 섭씨온도를 변화시키는 covert_c_to_f라는 함수가 있다면 import fah_convert.py를 통해 안에 있는 함수 fah_convert.covert_c_to_f를 사용할 수 있음.
2) 패키지
- 모듈을 모아놓은 단위, 하나의 프로그램
- 이것을 공개하면 프로젝트
- init , main 등 키워드 파일명이 사용됨
- 다양한 오픈 소스들이 모두 패키지로 관리됨
3) 가상환경
- 프로젝트 진행시 필요한 패키지만 설치하는 환경
- 기본 인터프리터 + 프로젝트 종류별 패키지 설치
반응형
'Study > AI' 카테고리의 다른 글
[Math] 벡터와 행렬 (0) | 2023.03.12 |
---|---|
[AI] 넘파이와 판다스 (1) | 2023.03.12 |
[Python] 예외 처리와 파일 및 로그 (0) | 2023.03.12 |
[Python] 파이썬의 기초문법 (0) | 2023.03.12 |
[Python] 파이썬 개요와 환경설정 (0) | 2023.03.12 |