[Python] Python 2일차 Python

1 클래스
- 정의 : class Service:
secret = "영구는 배꼽이 두개다." #클래스 변수
def __init__(self, name): #생성자
self.name = name #객체 변수
def sum(self, a, b): #멤버 함수
result = a + b
print("%s님, %s + %s = %s 입니다." % (name, a, b, result))
-Python에서는 함수에 항상 객체(self)를 첫째 인수로 전달
- 상속
class HousePark:
lastname = "박"
def __init__(self, name):
self.fullname = self.lastname + name
def travel (self, where):
print("%s, %s 여행을 가다." % (self.fullname, where))
class HouseKim(HousePark): #HousePark을 HouseKim이 상속받음
lastname = "김"
def travel (self, where, days):
print("%s, %s 여행을 %d일 동안 가다." % (self.fullname, where, days))
yoon = HouseKim("윤회")
yoon.travel ("부산", 3)
•output >> 김윤회, 부산 여행을 3일 동안 가다.
- operator overloading
def __add__(self, other): # 파이썬에서 정해져 있는듯
2 모듈
- 함수, 변수, 클래스 들을 모아놓은 파일
- import 모듈이름
- from 모듈명 import 모듈함수(클래스)
- if __name__ == "__main__" # 모듈 파일을 interpret 할 때만 실행
- import sys
sys.path.append("~/Download")

3 패키지
- 예 :  game/
__init__.py
sound/
__init__.py
echo.py
wav.py
graphic/
__init__.py
screen.py
render.py
play/
__init__.py
run.py
test.py
- __init__.py : 디렉터리가 패키지의 일부임을 나타냄
- __all__ : 특정 디렉토리의 모듈을 모두 import 할때 __init__.py 파일 안에서 import할 모듈을 정의해줘야 함

4 예외처리
- Syntax :  try:
...
except [발생 오류[as 메시지 변수]]: #오류 발생시
pass #오류 회피
...
else: #오류 미발생시
...
finally: #오류 여부 상관없이
...
- 예 :  try:
a = [1, 2]
print = (a[3])
4/0
except ZeroDivisionError:
print("0으로 나눌 수 없다.")
except IndexError:
print("인덱싱 할 수 없다.")
- 오류 강제 : raise 오류명
- 오류 만들기 : • def MyError (Exception):
def __str__(self):
return "허용되지 않음"
def MyError (Exception):
def __init__(self, msg):
self.msg = msg
def __str__(self):
return self.msg
5 내장 함수
- abs (x)
- all (x) : iteratable 한 자료형 x -> 모두 True 면 True, 하나라도 거짓이면 False
- any (x) : all의 반대
- chr (x) : 아스키 코드 -> 문자
- dir (x) : 객체 x가 가지고 있는 변수, 함수 나열
- divmod (a, b) : a/b 의 몫과 나머지 튜플로 반환
- enumerate
- eval
- filter (f, x)
- hex
- id : 주소값
- input
- int
- isinstance (a, class) : a가 class의 인스턴스인지 bool
- ☆lambda : 이름 없는 함수
- len
- list
- map
- max
- min
- oct
- open
- ord : 문자 -> 아스키
- pow
- range
- sorted
- str
- tuple
- type
- zip

6 외장 함수
- 라이브러리
- sys
•sys.argv - 터미널에서 인수 전달
•sys.exit - 스크립트 강제 종료
•sys.path - 모듈 저장 path 나열
- pickle : 객체 형태 그대로 파일에 저장/불러오기
•pickle.dump - 저장
•pickle.load - 불러오기
- os
•os.environ - 현재 시스템 환경변수
•os.chdir - change directory
•os.getcwd - 현재 디렉토리
•os.system - 시스템 명령어 호출
•os.popen - 시스템 명령어 결과값 읽기모드 파일 객체로 리턴
- shutil
•shutil.copy - 파일 복사
- glob
•glob.glob - 디렉토리에 있는 파일 나열
- tempfile
•tempfile.mktemp - 중복되지 않은 임시 파일 이름 생성
•tempfile.TemporaryFile - 임시 파일 객체 생성 (기본적으로 바이너리 쓰기 모드(wb))
- time
•time.time - UTC(Universal Time Coordinated 협정 세계 표준시)로 실수 형태로 리턴
•time.localtime - time.time에서 반환 되는 값으로 연월일시분초.. 튜플 반환
•time.asctime - time.localtime이 반환하는 튜플로 알아보기 쉽게 반환
•time.ctime - time.asctime(time.localtime(time.time))) 줄인거, 현재시간
•time.strftime - 포맷 바꿔서 사용
•time.sleep - 일정 시간 sleep
- calendar
•calendar.calendar - 해당년도 전체 달력
•calendar.weekday - 연도, 월, 일 입력 시 해당 요일 리턴
•calendar.monthrange - 년, 월 입력 시 해당 월 1일 요일, 해당 월 끝 날짜 리턴
- random
•random.random - 실수 0 ~ 1.0 중 난수 리턴
•random.randint - 지정된 수 사이 난수 리턴 (정수)
- webbrowser
•webbrowser.open - URL로 이동 (오픈 돼 있을 경우), 웹 브라우저 오픈 -> URL로 이동 (오픈 X일 경우)
•webbrowser.open_new - 웹 브라우저 오픈, URL로 이동
- ☆threading - 따로 볼 것

덧글

댓글 입력 영역