x={}
형식의 기본 인수를 사용하면 호출되지 않고 함수가 정의 될 때 기본 인수가 바인딩되기 때문에 일반적으로 Python에서 의도 한 목적을 달성하지 못합니다.빈 사전을 기본 인수로 사용하는 가장 Python적인 방법은 무엇입니까?
규칙은 x=None
으로 기본 인수로 변경 가능한 개체를 설정 한 다음 해당 함수가 호출 될 때 적절한 기본값을 할당하려면 x is None
을 확인하는 것입니다. 나는 기본적으로 비어 사전에 x
캐스팅하려는 경우
그래서, 나는 다음과 같은 것을 사용하는 것이 : 어떤 반복자를 취할 수 dict
때문에, 그러나
def f(x=None):
x = dict(x) if x is not None else {}
, 나는이 쓸 수 더 간결한 버전 :
이 "오른쪽"접근이 중입니다def f(x=()):
x = dict(x)
?