」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Python 中準確地將字串轉換為布林值:使用 bool() 避免意外結果

如何在 Python 中準確地將字串轉換為布林值:使用 bool() 避免意外結果

發佈於2024-11-21
瀏覽:826

How to Accurately Convert Strings to Booleans in Python: Avoiding Unexpected Results with bool()

在Python 中將字串解析為布林值:解決不一致問題

雖然Python 提供了一種使用bool() 將字元串轉換為布林值的簡單方法功能,往往會帶來意想不到的結果。本文示範了將字串準確轉換為布林值的替代方法。

bool() 出現的常見問題是所有非空字串的計算結果均為 True。為了解決這個問題,可以將字串與表示「true」的特定值進行比較:

>>> s == 'True'

這種方法確保只有字符串明確匹配“True”的結果為True。

對於更複雜的情況,建議檢查可接受值的列表:

>>> s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']

但是,在將bool()與非空字串一起使用時務必小心謹慎。如下所示,空字串的計算結果為 False,而所有其他字串的計算結果為 True:

>>> bool("foo")
True
>>> bool("")
False

此行為對於解析目的來說是有問題的,因為應計算為 False 的非空字串將傳回 True。因此,應優先考慮上述替代方法以實現準確的字串到布林值的轉換。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3