[英]Bash ${var:-default} equivalent in Python?
執行默認變量替換的最簡單方法是什么?
x = None
... (some process which may set x)
if x is None: use_x = "default"
else: use_x = x
有沒有辦法在一行中寫這個?
您可以使用條件表達式 :
use_x = "default" if x is None else x
你可以使用dict默認為x如果鍵不存在以類似於bash語法但條件將是慣用的方式:
use_x = {None: "default"}.get(x, x)
您可以使用
x = x or "default"
在Python中。 這不完全相同,因為它依賴於Python對真值的定義,這與Bash對set和unset值的區別不同。 但這是一個近似的近似和慣用的 Python方法,解決了測試未設置值的相同的一般問題。
如果您對僅替換None
值特別感興趣,那么此代碼將產生錯誤的結果,而Padraic的解決方案更合適。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.