在下面的代码中,函数g()被调用了两次,但是为什么呢?是因为在函数f()中调用了x = g,然后调用了函数x(),但实际上它是g()?
x = 99
def f():
x = g
x()
x = 17
def g():
global x
x = 14
g()
f()
答案 0 :(得分:0)
您还可以通过简单地添加print
语句来进行检查,如下所示:
x = 99
def f():
x = g
print(x)
x()
x = 17
def g():
global x
x = 14
g()
f()
输出为:<function g at 0x7f2147265c80>
,这表明在第4行中打印x
实际上是在调用函数g()