[英]python3 print() in 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'>
我的意思是在Python3中,exec()的arg2需要一個dict,但我們仍然可以放一個不是dict的print()函數。 為什么?
簡單!
這是可以接受的,因為它的值是None(它可以接受None或dict),這是參數的默認值。
在一個例子中,調用如:
exec("print('Hello')")
是相同的:
exec("print('Hello')", None, None)
print
返回None
,這是可選參數的有效參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.