簡體   English   中英

如何獲取 python 中的 exec() 調用的 function 的返回值?

[英]How to get the returned value of a function, called by exec() in python?

我有一個名為“somefunc”的 function:

def somefunc():
    return "ok"

我想用 exec() 來運行它,比如:

exec("somefunc()")

這很好用。 但問題是,我無法獲得返回值“ok”。 我試過這樣做:

a = exec("somefunc()")
print (a)

但我什么都沒有。 我怎樣才能得到返回值?

您需要將 function output 直接存儲a

def somefunc():
    return "ok"

exec("a = somefunc()")
print(a)

Output

ok

exec()正在執行您以文本形式提供的語句,因此在這種情況下,exec 會將返回值存儲在a變量中。

如果您想完全使用exec() function,@Leo Arad 的答案是可以的。

但我認為您誤解了exec()eval()函數。 如果是這樣,那么:

a = exec("somefunc()")
print (a)

當你使用eval()時它會起作用:

a = eval("somefunc()")
print(a)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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