Python函数-为什么调用两次?

时间:2018-11-09 22:45:36

标签: python-3.x

在下面的代码中,函数g()被调用了两次,但是为什么呢?是因为在函数f()中调用了x = g,然后调用了函数x(),但实际上它是g()?

x = 99

def f():
    x = g
    x()
    x = 17

def g():
    global x 
    x = 14

g()
f()

1 个答案:

答案 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()