Python __gt_uuvs>等等
有些python类有一些操作符,如uu gt uu或u lt uu,它们是用fortran语言命名的 以上运算符和其他运算符之间有什么区别?Python __gt_uuvs>等等,python,operators,Python,Operators,有些python类有一些操作符,如uu gt uu或u lt uu,它们是用fortran语言命名的 以上运算符和其他运算符之间有什么区别? 使用uu运算符并不比使用u运算符好?它们之间没有区别 您应该在何时使用> 经常做事情的时候,例如 >>> 80 > 70 True >>> 什么时候应该使用gt 映射、排序或其他操作时,不使用lambda: 所以不需要: >>> l = [1, 2, 3] >>> list(
使用uu运算符并不比使用u运算符好?它们之间没有区别 您应该在何时使用> 经常做事情的时候,例如
>>> 80 > 70
True
>>>
什么时候应该使用gt
映射、排序或其他操作时,不使用lambda:
所以不需要:
>>> l = [1, 2, 3]
>>> list(map(lambda x: x < 2, l))
[True, False, False]
>>>
他们之间没有区别 您应该在何时使用> 经常做事情的时候,例如
>>> 80 > 70
True
>>>
什么时候应该使用gt
映射、排序或其他操作时,不使用lambda:
所以不需要:
>>> l = [1, 2, 3]
>>> list(map(lambda x: x < 2, l))
[True, False, False]
>>>
__gt__方法是>的实现,同样,其他比较运算符也有类似的方法:
对象。自我,其他
对象。自我,其他
对象.\uuuu eq\uuu self,其他
对象.\uuu ne\uu self,其他
对象。\u gt\u self,其他
对象.\uuuu ge\uuuu self,其他
这些就是所谓的“丰富比较”方法。运算符符号和方法名称之间的对应关系如下:x=y调用x.。\uuu ge\uu y
通常在代码中使用运算符>,等等。但是,在自己的类上实现功能时,需要使用_gt_uuu和类似的方法
您几乎不应该总是在代码中直接使用_gt_uu方法,因为数据模型还定义了一些在这些方法之外处理的特殊情况
例如,如果一个操作数未实现比较,则会尝试使用交换的运算符进行反向比较:
>>> (1).__gt__(2.5)
NotImplemented
>>> (2.5).__lt__(1)
False
>>> 1 > 2.5
False
如果需要进行功能比较,应使用操作员模块:
__gt__方法是>的实现,同样,其他比较运算符也有类似的方法:
对象。自我,其他
对象。自我,其他
对象.\uuuu eq\uuu self,其他
对象.\uuu ne\uu self,其他
对象。\u gt\u self,其他
对象.\uuuu ge\uuuu self,其他
这些就是所谓的“丰富比较”方法。运算符符号和方法名称之间的对应关系如下:x=y调用x.。\uuu ge\uu y
通常在代码中使用运算符>,等等。但是,在自己的类上实现功能时,需要使用_gt_uuu和类似的方法
您几乎不应该总是在代码中直接使用_gt_uu方法,因为数据模型还定义了一些在这些方法之外处理的特殊情况
例如,如果一个操作数未实现比较,则会尝试使用交换的运算符进行反向比较:
>>> (1).__gt__(2.5)
NotImplemented
>>> (2.5).__lt__(1)
False
>>> 1 > 2.5
False
如果需要进行功能比较,应使用操作员模块:
请参见2>2.5与2不一样。请参见2>2.5与2不一样。如果l包含1.5会怎么样?使用listmap2确实不是一个很好的示例。如果你有一个同质列表,那么它可能会工作,但是如果你有一个异质列表,那么结果中有可能会出现NotImplemented。如果l包含1.5呢?使用listmap2真的不是一个好例子。如果您有一个同质列表,那么它可能会起作用,但是如果您有一个异质列表,那么结果中可能会出现NotImplementeds。