Python 3.x 这些Peewee查询筛选表单之间有什么区别

Python 3.x 这些Peewee查询筛选表单之间有什么区别,python-3.x,peewee,Python 3.x,Peewee,在的描述中,有两种可选语法的示例:使用逗号来分隔多个条件,例如下面的示例 Tweet.select().where(Tweet.user == user, Tweet.is_published == True) 并使用位运算符。我无法理解(也无法找到描述)使用逗号语法和使用位运算符之间的区别。逗号语法实际上是做什么的?从使用逗号的(单个)文档示例来看,它似乎等同于使用&,如中所示 Tweet.select().where( (Tweet.user == user) & (Tweet.i

在的描述中,有两种可选语法的示例:使用逗号来分隔多个条件,例如下面的示例

Tweet.select().where(Tweet.user == user, Tweet.is_published == True)
并使用位运算符。我无法理解(也无法找到描述)使用逗号语法和使用位运算符之间的区别。逗号语法实际上是做什么的?从使用逗号的(单个)文档示例来看,它似乎等同于使用
&
,如中所示

Tweet.select().where( (Tweet.user == user) & (Tweet.is_published == True) )

是这样吗?

是的,根据代码,它们是等效的:

def其中(self,*表达式):
如果self.\u其中不是None:
表达式=(self._其中,)+表达式
self.\u其中=reduce(运算符和表达式)