好的,这很有趣。
>>> exec("print")
>>> help(exec)
File "<stdin>", line 1
help(exec)
^
SyntaxError: invalid syntax
>>>
看起来像exec是一个语句,而不是一个函数,因此你无法帮助()它。这是预期还是错误?如果预料到,为什么?你能在python3上重现它吗?我在这里有Python 2.6.1。
答案 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中被接受。)