Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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如何比较函数?_Python_Sorting - Fatal编程技术网

python如何比较函数?

python如何比较函数?,python,sorting,Python,Sorting,为什么这不会引起属性错误?函数对象没有任何比较方法。它是否以某种方式使用id() fun1=lambda:x fun2=λ:x 打印fun1==fun1#真 打印fun1==fun2#错误 打印fun1>fun2#正确 打印fun11#正确 我知道它会比较地址,但如何比较呢? 拦截uuu lt_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

为什么这不会引起属性错误?函数对象没有任何比较方法。它是否以某种方式使用id()

fun1=lambda:x
fun2=λ:x
打印fun1==fun1#真
打印fun1==fun2#错误
打印fun1>fun2#正确
打印fun11#正确
我知道它会比较地址,但如何比较呢?
拦截uuu lt_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

各国:

大多数其他内置类型的对象比较不相等,除非它们是相同的对象;一个对象比另一个对象小还是大的选择是任意的,但在程序的一次执行中是一致的

这可能是通过比较对象ID来完成的,但这不是语言指定的

我不确定使任何对象与任何其他对象具有可比性背后的原理是什么,但这是语言的一个内置功能–参考文献确实提到它使任何列表都可排序,这使得比较两个词典的定义更容易。

不要定义它们自己的比较或丰富的比较。相反,它们从哪个实现继承

是的,它就像内置函数一样有效地使用地址


在Python 3中,函数不再是可排序的。

FWIW它在Python 3中不再工作:fun1>fun2给出了“TypeError:unorderable types:function()>function()”,这可能是它从一开始就应该做的。除非与非函数比较,对吗?我认为实际上
fun1>1
的计算结果实际上是
'function>1
,这是
True
,但我懒得检查源代码。:-)
fun1 = lambda:x
fun2 = lambda:x
print fun1 == fun1 # True
print fun1 == fun2 # False
print fun1 > fun2 # True
print fun1 < fun2 # False
print fun1 > 1 # True