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