and or的妙用:
def __init__(self, exchange=None, topic=None, namespace=None, version=None, server=None, fanout=None, legacy_namespaces=None): self.exchange = exchange self.topic = topic self.namespace = namespace self.version = version self.server = server self.fanout = fanout self.accepted_namespaces = [namespace] + (legacy_namespaces or [])
python中的 or and等关系操作符与其他静态语言不同,and 和 or的表达式的返回结果并不是boolean类型的,而是参与表达的两个
对象本身。判断执行的逻辑和顺序和静态语言相同。举个栗子:
a = 1 b = 2 d = a and b print d #2 d = a or b print d #1