我正在使用Canopy IDE。我是Python的初学者。我正在参加edX在线课程,我偶然发现了这段代码:
def a(x,y,z):
if x:
return y
else:
return z
def b(p,r):
return a(p>r,p,r)
print a(3>2,a,b)
我无法理解语句a(3>2,a,b)
的工作原理。本质上,函数比较如何在python中工作。当我在IDE中执行代码时,它给出了以下输出。
<function a at 0x00000000088F4198>
答案 0 :(得分:0)
您的电话:
a(3>2, a, b)
导致返回参数'a'。参数a是用于执行比较的函数:
def a(x,y,z):
if x:
return y
else:
return z
函数的默认字符串表示形式为:
<function (name) at 0x(address in memory)>
尝试使用不同的参数运行函数a(),例如
a(3>2, "Greater", "Smaller")
或者使用Python三元运算符:
result = "Greater" if 3 > 2 else "Smaller"