DoubleS、Zhao 发表于 2020-10-30 09:43:23

各位大佬帮帮忙,很简单的一个问题

def fun_A(x, y=3):
    return x * y

print(fun_A(x = 3))


def fun_A(x, y=3):
    return x * y

A = fun_A(x = 3)
print(A())


各位大佬,为什么第二种会报错呢?第二种的A()不是相当于fun_A这个函数吗?


{:9_220:}

910201513 发表于 2020-10-30 09:50:08

第五行的print(A())改成print(A)即可,
A赋值后是一个数,不是函数

DoubleS、Zhao 发表于 2020-10-30 10:24:53

910201513 发表于 2020-10-30 09:50
第五行的print(A())改成print(A)即可,
A赋值后是一个数,不是函数

谢谢

mrcrisis 发表于 2020-10-30 10:25:09

你直接fun_A(x = 3)将函数执行了然后结果返回给了A
带上括号函数就执行了
我猜你想这样
A = fun_A
print(A(x = 3))

DoubleS、Zhao 发表于 2020-10-30 10:33:19

mrcrisis 发表于 2020-10-30 10:25
你直接fun_A(x = 3)将函数执行了然后结果返回给了A
带上括号函数就执行了
我猜你想这样

嗯嗯 是的是的谢谢兄弟
页: [1]
查看完整版本: 各位大佬帮帮忙,很简单的一个问题