Python 함수 공부
Python 함수의 신비함
파이썬으로 배우는 실전 알고리즘 p.47 예제
클로저, 내부함수.
함수의 반환 값으로 함수가 나와서 이를 이용할 수 있다.
값 여러개를 튜플로 반환 할 수도 있다.
if 리턴값 개수 == 할당 받을 변수 개수 : 각 변수마다 리턴값 할당됨
else if 변수 개수 == 1: 변수에 튜플로 묶인 값이 할당됨
else: 에러 # 리턴 개수 ≠ 변수 개수
가변 인수도 받을 수 있다.
* 이면 그냥 인수, **이면 이름 있는 인수로 인식된다.
그리고 특성상 매개 변수 가장 뒤에 써야 한다. 특히 **는 가장 뒤에
x = 1, 2가 x=1 하고 2가 아니라 x=(1,2) 니까
튜플이나 리스트 값 앞에 *을 붙여서 Unpack할 수도 있다.
(1, 2)와** *{‘a’ = 1, ‘b’ = 2}**가 매개변수 1과 2로 인식한다.
*안붙이고 튜플 넘기면 인수 더 달라고 에러 뜸
>>> a = [1,2,3,4,5,6]
>>> list(map(lambda x: x+2, a))
[3, 4, 5, 6, 7, 8]
람다를 이용해 map 함수를 적용할 수도 있다.
파이썬 버전 2대는 list()를 안써도 되는 것 같은데
3대는 map함수 적용한 값을 그대로 건내주는지 list()를 안씌우면 포인터값(?)이 반환된다.
그와중에 캡쳐하기 귀찮아서 html 문법 공부함 style=”특성:값;”