Python은 개발자를 골탕 먹이기 위한 언어일 지도 ㅠㅠ
def square(x):
return x*x
def cube(x):
return x*x*x
funcs = {
"square": square,
"cube": cube
}
이렇게 정의해 놓고 다음과 같이 씁니다. 뭔가 이상한 것을 발견한 분 없나요? ^^
x = 2
square(x)
cube(x)
for func in sorted(funcs):
print(func, funcs[func](x))
위의 코드를 실행하면 다음과 같이 나옵니다.
4
8 cube 8 square 4
그래서 다음을 중간에 찍어봅니다.
print(funcs.items())
[수행결과]
dict_items([('square', <function square at 0x05672ED0>), ('cube', <function cube at 0x0562C6F0>)])
즉 함수를 정의하고 함수명을 변수로 넣으면 마치 변수처럼 취급합니다.
Python에는 case 문이 없고 위의 방식처럼 사용한다고 하네요... ^^
'참고문서(번역?) > 파이썬' 카테고리의 다른 글
Models: 데이터베이스와 연결하는 넘 (2) | 2017.04.22 |
---|---|
Django로 DB 건들이기가 쉬운겨? ^^ (0) | 2017.04.19 |