2014-05-30 5 views
10

print.__doc__ 출력 doc__를 .__ :인쇄 .__ doc__를 (__가 내장 __ "인쇄")

SyntaxError: invalid syntax 

>>> getattr(__builtin__,"print").__doc__ 

로서 출력한다 :

print(value, ..., sep=' ', end='\n', file=sys.stdout) 

인쇄 숫자 스트림으로, 또는 기본값으로 sys.stdout. 선택적 키워드 인수 :

파일 : 파일과 유사한 객체 (스트림); 기본값은 현재 sys.stdout입니다.
sep : 값 사이에 삽입되는 문자열. 기본값은 공백입니다.
끝 : 마지막 값 뒤에 문자열이 추가되며, 기본값은 줄 바꿈입니다.

사람이 print.__doc__

답변

18

(또는 파이썬 < 2.6은 매우 정확하기) print 것은 같은 절대적으로 아무것도 아니다 함수이므로 docstring이 없다. a 평가되기 전에

>>> print 42, a 
42 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'a' is not defined 

42 인쇄되었다가 인쇄를 시작하기 전에 심지어 모든 인수를 평가하지 않습니다. print은 0 ~ N 쉼표로 구분 된 표현식이 뒤 따르고, 선택적으로 앞에 >> file 구조가 있고, print.__doc__ 구조가 올바르지 않습니다. if.__doc__ 또는 return.__doc__과 같이 의미가 없습니다.

는 그러나 print 기능__builtin__ 모듈에서 사용할 수 있습니다, 파이썬 2.6로 시작하지만, 구문 분석이 print의 문이 from __future__ import print_function으로 사용되지 않는 한, 그와 함께 print 문 기본적으로 충돌을 사용하지 않습니다.

9

인쇄 파이썬 2의 함수로 전 세계적으로 사용할 수 없습니다 문서화 문자열을 구문 오류를주는 대신 인쇄 왜 당신이로 취급 할 수 있도록 나를, 이해하는 데 도움이 목적. 그것은 진술입니다.

파이썬 3 또는 from __future__ import print_function 파이썬 2에서, 그러나, print 정상적인 기능입니다 당신은 __doc__ 속성을 읽을 수 있습니다.

참조 : https://docs.python.org/2/library/functions.html#print

참고 :이 기능으로 일반적으로 사용할 수없는 내장 된 이름 인쇄는 인쇄 문으로 인식되고 있기 때문이다. 문을 해제하고 인쇄() 함수를 사용하려면 모듈의 상단이 미래의 문을 사용 : 파이썬 2에서

from __future__ import print_function 
+0

+1 'print' 함수가 항상 사용 가능하고 미래의 가져 오기가'print' 함수를 사용 가능하게하는 대신'print' 문을 사용 불가능하게 만들었다는 사실이 결코 발생하지 않았습니다. – chepner