python的or操作符連接多個字符串含義是什么?


 研究odoo代碼的時候發現其中有一行語句讓人費解

self.rcfile = os.path.abspath(
self.config_file or opt.config or os.environ.get('ODOO_RC') or os.environ.get('OPENERP_SERVER') or rcfilepath)

or 關鍵字除了是一種邏輯運算符還是什么??
代表這幾種數值來源中的一種嗎?優先級如何確定?
帶着問題找答案
代碼
1 print(False or None or 'hello' or 'hello world' or False or 'gill' or 'gorot' or None)

程序輸出:

C:\Python\Python35\python.exe C:/Users/hello/PycharmProjects/LearnPy/base.py
hello

Process finished with exit code 0

結論:

or操作符在此種情形下表示的語義是找到第一個非空/非邏輯非的對象,應該不光適用於字符串類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM