2017-11-08 19 views
2

나는 다음과 같은 코드가있는 경우 :파이썬 __doc__ 행동에 2.6 대 2.7

def foo(x, y): 
    return x * y 

t1 = lambda a, b: foo(x=a, y=b) 
print t1.__doc__ 

출력 2.6 :

x 

출력 2.7 :

None 

비록 2.7의 동작 정확한 것으로 보이지만 버그를 찾거나이 변경된 동작에 대한 요청을 변경할 수 없습니다. 누군가가 더 많은 조명을 내거나이 변경 요청에 나를 연결할 수 있습니까?

답변

3

이것은 Python issue 8164입니다. 람다 코드에서 사용 된 문자열 상수가 잘못 문서화 문자열로 해석되었습니다. 이것은 None을 람다의 코드에서 첫 번째 상수로 만듦으로써 fixed이었습니다.

+0

OP 코드의 문자열 상수는 어디에 있습니까? – wim

+1

@wim : 키워드 인수의'x'는 문자열로 저장됩니다. – user2357112

+0

그래, 알겠지만, "문자열 상수"라고 생각하지 않아. 죄송합니다. 수사적 질문이었습니다. – wim