说我有两个变量:
foo1 = 2
foo2 = x # Actual value unknown
foo1
始终是相同的(2
),但是foo2
可以取x
中的任何整数值。
现在说我想将foo1
与foo2
进行比较(找出较小,较大还是相同的大小)。我可以使用==
来测试它们是否具有相同的值:
foo1 == foo2 # False
所以foo1
不等于foo2
。
接下来,我看看foo1
是否比>
大:
foo1 > foo2 # False
因此我们现在知道foo1
小于foo2
。
可以将其放入方便的函数中以比较值:
def cmp(arg1, arg2):
if arg1 == arg2:
return 0
elif arg1 > arg2:
return 1
elif arg1 < arg2:
return -1
print(cmp(2, 3))
位置:
0
表示相同的大小1
的含义大于-1
的意思是小于有趣的是,Perl内置了the <=>
(compareson) operator:
my $foo1 = 2;
my $foo2 = $x;
$foo1 <=> $foo2;
1
,如果$foo1
大于$foo2
0
,如果$foo1
和$foo2
相等
-1
,如果$foo1
低于$foo2
这与我上面添加的Python函数相同。
请注意,我并不是真正的Perl编码器,但已包括在内以表明其他语言具有比较功能。
创建一个函数很好并且可以很好地工作,但是是否有一些(类似于Perl使用的)内置函数/运算符可以为我比较这两个值(而不是自己构建)?