Python:函数参数的多个可能值

AP2*_*257 5 python boolean-expression

我继承了一些看起来像这样的Python代码:

name = 'London'
code = '0.1'
notes = 'Capital of England'
ev = model.City(key=key, code=code, name=name or code, notes=notes)
Run Code Online (Sandbox Code Playgroud)

本着学习的精神,我想知道这个name or code论点是怎么回事.这是说'使用,name如果它不为空,否则使用code'?

提供这样的多个可能参数的技术术语是什么,所以我可以在Python文档中阅读它?

谢谢!

Bjö*_*lex 13

几乎.如果不评估为false,则表示使用名称.评估为虚假的内容包括但不限于:

  • False
  • 空序列((), [], "")
  • 空映射({})
  • 0
  • None

编辑添加了SilentGhost在他对答案的评论中提供的链接.

  • 太棒了.我想我喜欢Python. (2认同)

rec*_*ive 7

在python中,or运算符返回第一个操作数,除非它的计算结果为false,在这种情况下它返回第二个操作数.实际上,这将使用name,未指定codeif 的默认回退name.

  • 澄清"或"返回其操作数的实际值,而不仅仅是"真"或"假"非常重要,无论是对于普通教育还是对原始问题的回答 (3认同)