기본 인수는 함수가 호출 될 때마다가 아니라 함수 초기화시 작성됩니다. 다음 코드를 참조하십시오.
def ook (item, lst=[]):
lst.append(item)
print 'ook', lst
def eek (item, lst=None):
if lst is None: lst = []
lst.append(item)
print 'eek', lst
max = 3
for x in xrange(max):
ook(x)
for x in xrange(max):
eek(x)
내가 얻지 못하는 것은 이것이 왜 이런 식으로 구현되었는지입니다. 이 동작은 각 통화 시간마다 초기화에 비해 어떤 이점을 제공합니까?