亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python:如何將 eval() 的輸出保存在變量中?

Python:如何將 eval() 的輸出保存在變量中?

紅糖糍粑 2023-10-11 22:43:13
我是 Python 世界的新手。我的問題是:如何將 eval() 的輸出保存在變量中?# CODEvar = eval(print("Heyo"))message = f"{var}"# RESULTNone我嘗試使用數字表達式:1+1,輸出為 2。我需要輸出為:Heyo(在本例中)我能做些什么?
查看完整描述

3 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

Eval 將執行您作為輸入提供的字符串內的任何內容,這意味著您的 print 語句將打印到標準輸入。解決此問題的一種方法是stdout在調用 eval 之前將 重定向到變量。


from io import StringIO

import sys


old_stdout = sys.stdout

sys.stdout = mystdout = StringIO()


eval("print('Heyo')")


sys.stdout = old_stdout


message = mystdout.getvalue()


查看完整回答
反對 回復 2023-10-11
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

打印語句沒有返回?


var = eval("2")

message = f"{var}"


print(message)

輸出:


2


查看完整回答
反對 回復 2023-10-11
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

eval() 將字符串計算為 Python 代碼?,F在如果有任何返回值,它將存儲在var變量中。在您的代碼中,打印語句None在執行后返回。所以你不會收到 None 作為消息。


例如:


如果你運行下面的代碼,你將得到 500:



def something(): 

    return 500


var = eval("something()")


print(var)


output

500


查看完整回答
反對 回復 2023-10-11
  • 3 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號