无法帮助(执行)

时间:2010-10-24 23:19:24

标签: python

好的,这很有趣。

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

看起来像exec是一个语句,而不是一个函数,因此你无法帮助()它。这是预期还是错误?如果预料到,为什么?你能在python3上重现它吗?我在这里有Python 2.6.1。

4 个答案:

答案 0 :(得分:2)

在Python 2.x中,exec是一个语句(因此没有与之关联的文档字符串。)

在Python 3.x中,exec现在是一个函数:http://docs.python.org/py3k/library/functions.html?highlight=exec#exec 所以它可以(并且确实)有一个文档字符串。

你会得到同样的帮助(打印)行为,这也成为3.x中的一个功能。

答案 1 :(得分:2)

是的,就像我的粉丝说的那样,但对我来说,我通常会这样做:

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

它适用于python 2. *和python 3k

答案 2 :(得分:2)

只需在它周围加上引号(也适用于断言等):

>>> help('exec')

答案 3 :(得分:1)

http://docs.python.org/release/3.0.1/library/functions.html#exec

在Python 3中,exec()是一个函数。显然,在Python 2中,exec是一个语句,但可以与函数类似地使用。

http://docs.python.org/release/3.0.1/whatsnew/3.0.html#removed-syntax

  

删除关键字:exec()不再是关键字;它仍然是一个功能。 (幸运的是,函数语法也在2.x中被接受。)