Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python __gt_uuvs>等等_Python_Operators - Fatal编程技术网

Python __gt_uuvs>等等

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(

有些python类有一些操作符,如uu gt uu或u lt uu,它们是用fortran语言命名的

以上运算符和其他运算符之间有什么区别?
使用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。