반응형
클래스 |
반복되는 변수&메서드(함수)를 미리 정해놓은 틀(설계도) |
계산기가 두개 있으면 얼마나 좋을까? |
ㄴ 이렇게 두개를 따로따로 똑같이 써주어야함 (번거로움) → 그래서 class 를 쓴다
class : 함수&변수가 똑같은 구조로 반복되는 번거로움을 줄일 수 있도록 하나로 묶어서 설계도로 만들어둔 것
*클래스 쓰는 방법?
1) Class를 입력하고
2) 대문자로 시작하는 클래스 이름 작성
3) 안에 들어갈 함수와 변수 설정
class로 만든 instance를 찍어낼 때, init 부분을 실행하면서 시작함
ㄴ 맨 처음 생성할 때 __init__ 을 한번만 써주면 됨
클래스의 상속 : 일반 계산기를 공학용 계산기로 만들고싶다! |
- 부모 클래스를 상속 받아서 자식 클래스를 만든다
ㄴ 상속은 기존에 짠 class 를 그대로 활용하기 위함이다.
- 메서드 오버라이딩 : 부모의 함수를 자식이 덮어쓴다.
모듈 |
미리 만들어놓은 .py 파일 (함수,변수,클래스) |
패키지 |
모듈 여러 개 모아놓은 것 |
예외 처리 |
오류가 발생했을 때 어떻게 할 지 미리 정해놓는 것 |
try:
#오류가 발생할 수 있는 구문
except Exception as e:
#오류발생
else:
#오류 발생하지 않음
finally:
#무조건 마지막에 실행
내장함수 : 파이썬에서 기본적으로 포함하고 있는 함수 |
all : 모두 참인지 검사 >>> all([1,2,3]) True >>> all([1,2,3,0]) #0이 하나라도 있으면 false False |
any : 하나라도 참이 있는가? >>>any([1.2.3.0]) True >>>any([0,""]) False |
chr : ASCII 코드를 입력받아 문자 출력 >>>chr(97) 'a' >>>chr(48) '0' *ASCII(아스키 코드) = 0~127사이의 숫자를 각 문자에 대응 |
dir : 자체적으로 가지고 있는 변수나 함수를 보여줌 >>> dir([1,2,3,]) #리스트에서 쓸 수 있는 함수 ['append', 'count'. 'extend', 'index', 'insert', 'pop',...] >>>dir({'1':'a'}) ['clear', 'copy'. 'get', 'has_key', 'items', 'keys',...] |
divmod : 몫과 나머지를 튜플 형태로 돌려줌 >>>divmod(7,3) (2,1) >>>divmod(1.3,0.2) (6.0, 0.09999999999999998) |
enumerate : 열거하다 for i, name in enumerate(['body', 'foo', 'bar']): print(i,name) 0 body 1 foo 2 bar |
eval : 실행 후 결과값을 돌려줌 >>>eval('1+2') 3 >>>eval("'hi'+ 'a'") 'hia' >>>eval('divmod(4,3)') (1, 1) |
filter : 함수를 통과하여 참인 것만 돌려줌 def positive(x) : return x>0 a = list(filter(positive, [1, -3, 2, 0, -5, 6])) print(a) |
id : 주소값 >>>a = 3 >>>id(3) 135072304 >>>id(a) 135072304 >>>b=a >>>id(b) 135072304 |
int : 10진수 정수 형태로 변환 >>>int('3') 3 >>>int(3.4) 3 >>>int('11',2) 3 >>>int('1A', 16) 26 |
len : 길이 >>>len("python") 6 >>>len([1,2,3]) 3 >>>len((1, 'a')) 2 |
list : 리스트로 변환 >>>list("python") ['p', 'y', 't', 'h', 'o', 'n'] >>>list([1,2,3]) [1,2,3] >>>a=[1,2,3] >>>b= list(a) >>>b [1,2,3] |
sorted : 정렬 >>> sorted([3,1,2]) [1,2,3] >>>sorted(['a','b','c']) ['a','b','c'] >>>sorted((3,2,1)) [1,2,3] |
map : 각 요소가 수행한 결과를 돌려줌 def two_times(x) : return x*2 a = list(map(two_times, [1,2,3,4])) print(a) a = list(map(lambda a: a*2, [1,2,3,4])) print(a) |
max : 최대값 >>>max([1,2,3]) 3 >>>max("python") 'y' min : 최소값 >>>min([1,2,3]) 1 >>>min("python") 'h' |
open w : 쓰기모드로 파일열기 r : 읽기모드로 파일 열기 a : 추가모드로 파일 열기 b : 바이너리 모드로 파일 열기 >>> f = open("binary_file"."rb") |
pow : 제곱한 결과값 반환 >>>pow (2,4) 16 >>>pow(3,3) 27 |
range : 범위 >>>list(range(5)) [0,1,2,3,4] >>>list(range(5,10) [5,6,7,8,9] >>>list(range(1,10,2)) [1,3,5,7,9] >>>list(range(0,-10,-1)) [0,-1,-2,-3,-4,-5,-6,-7,-8,-9] |
round : 반올림 >>>round(4.6) 5 >>>round(4.2) 4 >>>round(5.678, 2) 5.68 |
str : 문자열 반환 >>>str(3) '3' >>>str('hi') 'hi' >>>str('hi',upper()) 'HI' |
tuple : 튜플 반환 >>>tuple("abc") ('a','b','c') >>>tuple([1,2,3]) (1,2,3) >>>tuple((1,2,3)) (1,2,3) |
type : 타입을 출력 >>>type("abc") <class 'str'> >>>type([ ]) <class 'list'> >>>type(open("test" , 'w')) <class '_io.TextIOWrapper'> |
zip : 자료형을 묶어주는 역할 |
외장함수 : 라이브러리 함수 import해서 쓰는 것 |
불변(immutable) VS 변함(mutable) |
반응형
댓글