簡體   English   中英

exec()中的python3 print()

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM