
def say_hi(n):
print('hi\n'*n )
de_hi = say_hi(3)
print(de_hi)

-> return으로 반환되는 값이 없으므로 값 출력시 None이 나온다
def re_say_hi(n):
return n*5
a = re_say_hi(3)
print(a)

-> 반환된 값이 있으므로 None이 나오지 않음
튜플 : 리스트와 유사한 자료형, 한번 결정된 요소를 바꿀수 없음
리스트와 차이 : 리스트는 인덱스를 이용하여 요소를 추가하거나 변경할 수 있지만, 튜플은 바꿀 수 없다.
예외 요소 서로 스위칭
x, y = 10 ,20
print(x,y)
tmp_x = x
x = y
y = tmp_x
print(x, y)

-> 중간에 변수를 하나 만들어(tmp_x) 서로 스위칭해서 결국 요소가 바뀐 것을 알 수 있다.
def test():
return 10, 20, 30
test()

def test1():
return 10,
test1()

sample_list = [11,22,33,44,55,66]
for something in enumerate(sample_list):
print(something, type(something))

sample_dict = {'이미':'튜플', '알고':'있었어'}
for something in sample_dict.items():
print(something, type(something))
print(something[0], something[1])
lambda 매개변수 : 리턴값
-> 이때 매개변수나 리턴 값이 없을 수도 있다.
map(함수, 리스트)
sample_list = [1,2,3,4,5]
list(map(lambda x: x**2,sample_list))

-> 람다 함수가 아니라 다른 사용자 함수여도 된다. 요소들이 람다식에 대응된 요소가 된 것을 알 수 있다.
filter(함수, 리스트)
sample_list = [1,2,3,4,5]
list(filter( lambda x : x < 3, sample_list))

-> 리스트의 요소 중 3보다 작다는 조건에 맞는 1,2만 출력되었다.
파일객체 = open(파일경로/이름, 모드)
file.write('문자')
파일객체.closetry:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
else:
예외가 발생하지 않았을 때 실행할 코드
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
else:
예외가 발생하지 않았을 때 실행할 코드
finally:
무조건 실행할 코드