Python中 |= 运算符的作用
在Python中,|=运算符用于将左侧操作数的值与右侧操作数的值进行按位或(bitwise OR)并将结果赋给左侧操作数。
Flask中进行路由处理时会遇到该运算符的使用:

在这种情况下,methods |= required_methods 将methods集合与required_methods集合的并集赋值给methods集合。
换句话说,它添加了required_methods集合中的所有元素到methods集合中,如果methods集合中已经存在该元素,则会忽略。这种用法常用于确保一个集合包含另一个集合的所有元素,而不重复添加现有元素。
以下是一个示例:
methods = {'GET', 'POST'}
required_methods = {'GET', 'PUT', 'DELETE'}
methods |= required_methods
print(methods) # 输出 {'GET', 'POST', 'PUT', 'DELETE'}
在这个例子中,methods集合原来包含GET和POST,required_methods集合包含GET、PUT和DELETE。
methods |= required_methods将PUT和DELETE添加到methods集合中,因为这些元素不在methods集合中存在。
最终,methods集合包含GET、POST、PUT和DELETE。
浙公网安备 33010602011771号