본문 바로가기
카테고리 없음

[파이썬 기초] 클래스 / 모듈 / 패키지 / 예외 처리 / 내장 함수 / 외장 함수

by 오잉쿡 2023. 8. 20.
반응형

클래스 
반복되는 변수&메서드(함수)를 미리 정해놓은 틀(설계도)

 

계산기가 두개 있으면 얼마나 좋을까?

 

ㄴ 이렇게 두개를 따로따로 똑같이 써주어야함 (번거로움) → 그래서 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)

 

반응형

댓글