0
点赞
收藏
分享

微信扫一扫

Python学习——测验5:函数和代码复用的理解

江南北 2022-04-20 阅读 75
python
def f(a,b):
  a=4  
  return  a+b

def main():

  a=5
  b=6
  print(f(a,b),a+b)  

main()

输出结果为 10,11

在第二个函数main()中,局部变量a,b,确实使得f(a,b)变为f(5,6)。

但是第一个函数定义f(a) = 4+b (函数内部运算完,局部变量已被释放掉,所以和a没有关系了)

所以输出的f(a,b)是10

具体能否赋值对函数内部产生影响,可以做一下尝试:

def f(a):
    return a
a = 2
print(f(a))

输出结果为2

这里的 a = 2 也可以放在函数前,输出结果相同。

注意:如果不在函数内部改变全局变量,其实引用全局变量也不用global声明。

举报

相关推荐

0 条评论