1. 파이썬 기초
강의자료만 한번 읽어보고, 기초적인 문법이라 skip!
2. 파이썬 다지기
2.1 Python object orientation programming
1. 객체란? 실생활에서 일종의 물체, 속성과 행동을 가진다. -> 변수와 함수로 표현
2. 클래스? 설계도
인스턴스? 설계도로 만든 실제 구현체
3. 이름짓기
* 클래스명: CamelCase (E.g. PersonName)
* 함수/변수명: Snake_case (person_name)
4. 특수한 예약함수
* '__str__' => print
* '__add__' => add
5. ['__'와 '@property'] 사용
# 클래스
class Person(object):
# 속성(변수)
def __init__(self, name, addr, age, sex):
self.name = name
self.addr = addr
self.age = age
self.sex = sex
self.__items # 외부에서 접근 불가
@property # 내부에서는 접근 가능하게, 함수를 변수명처럼!
def items(self):
return self.__items
# 행동(함수/메소드)
# 사람이 이사를 갔다!
def change_addr(self, new_addr):
self.addr = new_addr
# 사람이 개명을 했다!
def change_name(self, name):
self.name = name
# Print 처럼 작용
def __str__(self):
return "My name is %s" % (self.name)
def __add__(self, other):
return self.age + other.age
# 설계도 기반으로 만들어진 인스턴스!
person_A = Person("홍길동", "서울", 20, "남자")
person_B = Person("동길홍", "부산", 30, "남자")
print(person_A) # My name is 홍길동
print(person_A + person_B) # 50
2.2 Moduel and Project
# 1. Readability를 위해 별칭(Aliases) 사용
import Person as p # 별칭 (Aliases)
2.3 File / Exception / Log Handling
# 1. pathlib 모듈: path를 객체로 다룸
import pathlib
path = pathlib.Path.cwd() # workspace
path.parents # ../
# 2. OS 모듈
import OS
OS.mkdir(<path>) # 디렉토리 생성
OS.path.exists(<path>) # 디렉토리/파일이 존재하는지 check
# 3. pickle 모듈: 객체를 저장, 불러오기 가능
# 4. logging 모듈: 개발 로그 관리 가능
# * DEBUG > INFO > WARNING > ERROR > CRITICAL
# 5. configparser, argparser
import logging
logger = logging.getLogger("main")
stream_hander = logging.StreamHandler()
logger.addHandler(stream_hander)
logger.setLevel(logging.DEBUG / logging.CRITICAL)
logger.debug("Something wrong")