2012-06-10 76 views
8

當我這樣做(完全隨機的例子不讀入變量名):做Python Inline if語句執行兩次函數嗎?

variable = read_file() if read_file() else "File was empty" 

在這種情況下不READ_FILE()獲取excuted兩次?如果是的話,有辦法做到只執行一次,但保持在一行?

+2

這可能是一個壞主意;如何使用'變量'的代碼知道該文件沒有真正包含''文件是空的''? –

+0

再次完全隨機變量/方法名稱 – NoviceCoding

回答

21

在這種情況下,read_file()會執行兩次。你可以這樣做:

variable = read_file() or "File was empty" 
+0

@NoviceCoding沒問題:D – jamylak