我是python新手,在使用djnago查询时发现了一些对象列表,比如
querysetObj = <QuerySet [<class: obj1>, <class: obj2>]>
queryset=<QuerySet [<class: obj1>, <class: obj3>,<class:obj4>]>
for obj in querysetObj:
queryset|=obj
queryset=<QuerySet [<class: obj1>, <class: obj3>,<class:obj4>,<class:obj2]>#it acts like a set compare objects and add none repeated objects only
我想知道如何对其他对象“我自己的类”进行相同的设计,这是否与c++之类的运算符重载有关?如果是,如何做到这一点?你知道吗
您可以通过实现特殊的
__or__
方法(也可能是__ror__
)来实现它,如here所述。你知道吗如果左操作数定义了
__or__
,则调用其__or__
方法。如果没有,或者__or__
抛出NotImplemented
,则调用右操作数的__ror__
。你知道吗其他运算符的实现方式类似,使用各种特殊函数。你知道吗
相关问题 更多 >
编程相关推荐