colab link: etc.ipynb
a = 0
b = 4
try:
c = b / a
except :
print('infinity')
> infinity
a = 0
b = 4
c = [1,2,3]
try:
#print(b / a)
print(c[4])
except ZeroDivisionError :
print('infinity')
except IndexError as e: # e는 메세지 출력 변수.
print(e)
> list index out of range
finally절 은 try문 수행 도중 예외 발생 여부에 상관없이 항상 수행
f = open('/content/foo.txt', 'w')
try:
c = 4 / 0
except:
c = 'infinity'
finally:
f.close()
try:
f = open("나없는파일", 'r')
except FileNotFoundError:
pass
class Bird:
def fly(self):
raise NotImplementedError
객체가 자체적으로 가지고 있는 변수나 함수를 보여 줌
print(dir(a))
> ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
딕셔너리의 형태로 출력. for 문 과 함께 자주 사용.
a = enumerate(['body', 'foo', 'bar'])
print(a)
print(type(a))
for i, name in a:
print(i, name)
> <enumerate object at 0x7fba0e1c9a68>
<class 'enumerate'>
0 body
1 foo
2 bar
int, float, bool ..
hex: 16진수
a = int('123')
print(a+5)
print(int(a/5)) # 몫만 알고 싶을 경우
print(a // 5) # 몫 연산자
str_hex = hex(127)
print(int(str_hex, 16))
print(bool(1))
print(bool(0))
print(bool(' '))
print(bool(''))
> 128
24
24
127
True
False
True
False
입력으로 받은 인스턴스가 그 클래스의 인스턴스인지를 판단하여 참이면 True, 거짓이면 False를 돌려줌
class Person:
pass
a = Person()
print(isinstance(a, Person)) # a 가 Person의 인스턴스 인지 판단해주는 함수
b = [1,2,3]
print(isinstance(b, Person))
print(isinstance(b, list))
> True
False
True
반복 가능한 자료형 s를 입력받아 리스트로 만들어 돌려주는 함수
a = [1,2,3]
b = a
b[0] = 4
print(a)
> [4, 2, 3]
a = [1,2,3]
b = a[:]
b[0] = 4
print(a)
print(b)
> [1, 2, 3]
[4, 2, 3]
a = [1,2,3]
b = list(a)
b[0] = 4
print(a)
print(b)
> [1, 2, 3]
[4, 2, 3]
입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 함수
def celsius_to_faherenheit(x):
return x * 1.8 + 32
celsius_data = [12, 23, 21, 5, -20]
print(list(map(celsius_to_faherenheit, celsius_data)))
> [53.6, 73.4, 69.80000000000001, 41.0, -4.0]
x의 y 제곱한 결괏값을 돌려주는 함수
print(pow(2, 4))
print(2 ** 4)
> 16
16
print(list(zip([1,2,3], [4,5,6])))
> [(1, 4), (2, 5), (3, 6)]
for x, y in zip([1,2,3], [4,5,6]):
print(x + y)
> 5
7
9