2010-10-24 73 views
1

好的,這很有趣。無法提供幫助(exec)

>>> exec("print") 
>>> help(exec) 
    File "<stdin>", line 1 
    help(exec) 
      ^
SyntaxError: invalid syntax 
>>> 

看起來像exec是一個聲明,而不是一個函數,因此你不能幫助()它。這是預期的還是一個錯誤?如果預期,爲什麼?你可以在python3上重現它嗎?我在這裏有Python 2.6.1。

回答

2

在Python 2.x中,EXEC是一個語句(因此不具有與之相關聯的文檔字符串。)

在Python 3.x,exec現在是一個函數:http://docs.python.org/py3k/library/functions.html?highlight=exec#exec 所以它可以(和確實)有一個文檔字符串。

你會得到同樣的行爲幫助(打印),這也成爲了3.x中的一個功能。

2

是的,就像我的追隨者說,但對我來說,我通常做的:

>>> help("exec") 
>>> help("print") 

和它蟒蛇2 *和python 3K

2

只要把引號解決它(適用於斷言,等太):

>>> help('exec')