파이썬 날개달기
-
클래스 (class)
-
한가지 작동방식의 함수를 여러개 찍어낼 수 있도록 하는 것
-
ex) 과자틀 -> 클래스, 과자 -> 객체
-
객체와 인스턴스의 차이
-
인스턴스: 클래스로 만든 객체
-
매서드 (method)
-
정의: 클래스 내에 있는 함수
-
정의할 때, 가장 앞에 self를 사용 -> self는 객체를 받음
-
ex) class calculator: def add(self, a,b):
-
생성자 (constructor)
-
객체에 초깃값을 설정해야할 필요가 있을 때, 생성자를 구현하는 것이 안전한 방법 -> __init__(self, 필요 변수1, 필요 변수2,...):
-
클래스 상속
-
기존에 존재하는 클래스 기능을 상속받을 수 있음
-
방법: class 클래스이름(상속할 클래스):
-
사용하는 이유: 주로 기존 클래스에 기능을 추가하고 기존것을 해치지 않으려고 할 때
-
매서드 오버라이팅
-
부모가 갖는 매서드를 새로 작성하고 싶을 때
-
ex) calss 새 클래스(부모매서드): 동일한 함수 이름: 작성
-
클래스 변수
-
클래스 변수는 객체들과 모두 이어져 있음
-
모듈
-
정의: 함수, 변수, 클래스를 모아놓은 파일
-
모듈 이름 = 파이썬 파일 이름
-
파이썬 라이브러리란? 파이썬을 다운받을 때 설치하는 모듈들을 의미
-
불러오기
-
기본: import 모듈이름 (.py 제외하고)
-
ex) import mod1
-
함수만 직접사용: from 모듈이름 import 함수1, 함수2, ….
-
from mod1 import add -> add함수 바로 사용
-
모든함수를 불러오고 싶을 때, 함수 이름대신 -> *
-
if __name__ = ‘__main__’
-
모듈안에 수행문을 돌리고 싶지 않을 때
-
클래스나 변수등을 포함한 모듈
-
만약 class가 사용하고 싶다면 -> import mod2; a = mod2.클래스 이름()
-
만약 함수가 사용하고 싶다면 -> import mod2; a.함수(변수)
-
다른파일에서 모듈 불러오기
-
모듈을 저장한 디렉터리 사용하기
-
sys를 사용: 파이썬 라이브러리가 설치되어 있는 디렉토리 확인
-
python 환경변수 바꾸기
-
set명령어를 사용해 python path환경변수에 mod2.py파일이 있는 디렉토리를 설정
-
패키지
-
정의: 파이썬 모듈과 디렉토리를 계층적으로 정리해주는 구조
-
불러오기
-
import 패키지.모듈.
-
from 패키지 import 모듈
-
import 패키지.모듈 import 매서드
-
주의사항: import의 마지막은 언제나 모듈, not 매서드
-
__init__.py함수: 해당 디렉토리가 패키지의 일부임을 알려주는 역할, 만약 패키지에 포함되는 디렉토리에 이 함수가 존재하지 않는다면 패키지로 인식하지 못함
-
python 3.3부터는 없어도 인식, but 안전하게 하기 위해 사용 ^^
-
모듈을 *로 모두 불러오는 경우에 -> __init__.py에 __all__을 추가해야 함
-
다른 모듈의 함수를 특정 모듈의 함수에서 사용하고 싶을 때
-
import 패키지.모듈; def 함수: 사용가능
-
예외처리
-
에러 종류
-
FileNotFoundError: 없는 파일을 찾을 때
-
ZeroDivisionError: 0으로 무언가를 나눌 때
-
IndexError: Index관련 에러가 날 때
-
오류 예외 처리 기법
-
try,except문
-
기본 구조: try: 수행문; except 발생오류 as 변수: 수행문
-
설명: try 블록 중 오류가 발생되면 except 블록이 수행
-
여러개의 오류를 처리할 때
-
try.. finally문
-
사용한 리소스를 종료할 때 사용
-
문법 try: 수행문; except 오류문1 as 변수: 수행문1; except 오류문2 as 변수: 수행문2
-
한꺼번에 처리할 때 문법: try: 수행문; except (오류문1, 오류문2) as 변수
-
오류 회피하기
-
문법: try: 수행문; except 오류문: pass
-
오류를 일부러 발생시키기
-
내장함수
-
사용
-
abs(): 절대값 반환
-
all(): 하나라도 False가 있으면 False/ any(): 하나라도 True가 있으면 True
-
chr(): 아스키코드값을 넣으면 대응 문자 반환
-
ord(): 반대를 수행
-
dir(): 객체가 가지고 있는 변수나 함수를 반환
-
divmod(): 몫과 나머지를 튜플형으로 반환
-
enumerate(): 순서가 있는 리스트, 튜플, 문자열을 값으로 받아서 순서 index를 enumerate의 객체로 반환
-
eval(): 실행 가능한 문자값을 실행하여 결과로 돌려줌
-
ex) eval(‘1+3’) = int(3)
-
hex(): 정수값을 받아서 16진수로 반환
-
oct():정수를 8진수로 변환
-
자주사용
-
id(): 객체의 고유 주소값 반환
-
input(): 입력값을 받는 함수 -> 언제나 integer
-
int(): 정수로 반환
-
instance(함수이름, 클래스이름): 함수가 해당 클래스의 함수인지 여부 확인 -> T/F 값으로 반환
-
len(): 입력값의 길이
-
list(): 리스트로 변환
-
max()/min(): 입력값의 최대값/최솟값
-
open(‘함수명’,’mode’): 함수 오픈
-
pow(a,b): a의 b제곱을 반환
-
range(시작, 마지막, delta): 범위값을 반복 가능한 객체로 만들어 반환
-
round(): 반올림 함수
-
sorted(): 정렬 함수
-
str(): 문자화 함수
-
sum(): 입력받은 모든 리스트나 튜플값을 합산하는 함수
-
tuple(): tuple로 변환하는 함수
-
type(): 자료형이 무엇인지 반환하는 함수
-
외장함수
-
sys: 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈
-
강제로 스크립트 종료: sys.exit(), 프로그램 내에서 사용
-
자신이 만든 모듈 불러와서 사용: sys.path -> 파이썬 모듈이 저장된 위치를 나타냄
-
sys.path.append(‘경로’): 사용하려는 모듈의 경로를 추가하여 사용 가능
-
pickle: 객체의 형태를 그대로 유지하여 파일을 저장하고 불러올 수 있는 모듈
-
사용방법(쓰기)
-
import pickle
-
원하는 파일 f =open(‘파일명’,’w’)
-
data 작성 data = {1: ‘you’,2: ‘need’}
-
pickle.dump(data,f)
-
f.close()
-
사용방법(읽기)
-
import pickle
-
원하는 파일 open ‘r’
-
data = pickle.load(f)
-
f.close()
-
os: 환경변수나 디렉터리 파일등의 os자원을 제어할 수 있게 해주는 모듈
-
내 시스템에 환경변수 값을 알고 싶을 때: os.environ
-
디렉토리 위치 돌려받기: os.getcwd
-
시스템 명령어 호출하기: os.system(‘명령어’)
-
실행한 시스템의 명령어 결괏값 돌려받기: os.popen()
-
shutil: 파일을 복사해주는 모듈
-
사용방법: shutil.copy(‘복사할파일명’,’새로만들어질파일명’)
-
glob: 디렉토리에 있는 파일을 모두 리스트로 변환
-
사용방법: glob.glob(‘디렉토리 위치’)
-
time
-
time.time(): 1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간의 초단위를 반환
-
tile.localtime(): time.time()이 돌려준 값을 연도, 월, 일, 시, 분,초 … 형태로 바꿔주는 함수
-
time.asctime(): time.localtime에 의해서 반환된 튜플 형태의 값을 인수로 받아 날짜와 시간을 알기 쉬운 형태로 반환
-
time.ctime(): 현재 시간을 반환
-
time.strftime(‘출력포맷코드’,값)
-
time.sleep(값): 값sec만큼의 텀을 두고 문장을 수행
-
ex) for i in range(10): print(i); time.sleep(1) -> 1초마다 i값을 print 수행
-
time.sleep(값): 값sec만큼의 텀을 두고 문장을 수행
-
calendar: 파이썬에서 달력볼 수 있는 모듈
-
random: 난수를 발생시키는 모듈
출처: jump to python
'Python > 기초' 카테고리의 다른 글
Pandas 사용 함수 (0) | 2022.04.22 |
---|---|
각 type별 함수 사용 (0) | 2022.04.19 |
Python 프로그램 입출력하기 (0) | 2019.09.05 |
Python 제어문 (0) | 2019.09.05 |
Python 기초 (특징과 데이터형) (0) | 2019.08.29 |