use*_*586 3 python python-3.x python-exec
在python3中,当我运行时
>>> exec("","","")
TypeError: exec() arg 2 must be a dict, not str
>>> exec( "print('Hello')", print("World"), print("!") )
World
!
Hello
>>> type(print("World"))
World
<class 'NoneType'>
Run Code Online (Sandbox Code Playgroud)
我的意思是在Python3中,exec()的arg2需要一个dict,但我们仍然可以放一个不是dict的print()函数.为什么?
简单!
这是可以接受的,因为它的值是None(它可以接受None或dict),这是参数的默认值.
在一个例子中,调用如:
exec("print('Hello')")
Run Code Online (Sandbox Code Playgroud)
是相同的:
exec("print('Hello')", None, None)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
322 次 |
| 最近记录: |