### 함수 객체 핸들
def play():
print('play')
def stop():
print('stop')
def main():
fs = [play, stop]
for f in fs:
f()
if __name__ == '__main__':
main()
#결과
play
stop
### pass by reference
def add_ls(ls):
ls.append(2)
return
def main():
ls = [1]
print("before:", ls)
add_ls(ls)
print("after:", ls)
if __name__ == '__main__':
main()
#결과
before: [1]
after: [1, 2]
### list/tuple as function argument
def ls_passing(x, y, z):
print(x, y, z)
def tp_passing(**kwargs):
print(kwargs)
def main():
# 여러 인자를 넘기는 경우 리스트나 튜플을 바인딩하는 변수에 *를 사용
ls = [1, 2, 3]
ls_passing(*ls)
# 데이터가 딕셔너리 형태로 저장된 경우 함수를 호출할 때 **를 사용
tp = {'x': 1, 'y': 2}
tp_passing(**tp)
if __name__ == '__main__':
main()
#결과
1 2 3
{'x': 1, 'y': 2}
댓글 영역