다음과 같은 기능이 있다면 :
def foo(name, opts={}):
pass
그리고 매개 변수에 유형 힌트를 추가하고 싶습니다. 어떻게합니까? 내가 가정 한 방식으로 구문 오류가 발생합니다.
def foo(name: str, opts={}: dict) -> str:
pass
다음은 구문 오류를 발생시키지 않지만이 경우를 처리하는 직관적 인 방법은 아닙니다.
def foo(name: str, opts: dict={}) -> str:
pass
typing
설명서 나 Google 검색 에서 찾을 수 없습니다 .
편집 : 파이썬에서 기본 인수가 어떻게 작동하는지 알지 못했지만이 질문을 위해 위의 예제를 유지합니다. 일반적으로 다음을 수행하는 것이 훨씬 좋습니다.
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
변경 가능한 기본 유형이 있습니다. 문제가 발생할 수 있습니다
—
noɥʇʎԀʎzɐɹƆ
내 업데이트 대답 @josh 참조
—
noɥʇʎԀʎzɐɹƆ
@ noɥʇʎԀʎzɐɹƆ 예를 들어 메모와 같은 용도로 사용하지 않는 한 아닙니다. : P
—
Mateen Ulhaq
scala
언어가 너무 그것을 않습니다.