Python中都全局变量和局部变量

定义

全局变量:函数体之外定义的变量

局部变量:函数体之内定义的变量

下述代码中,t是全局变量,m是局部变量

t = 1
def func(x):
    m = 2
    return x//m

规则

1. 局部变量和全局变量是不同的变量,即使变量名相同

  • 局部变量是函数中的占位符,与全局变量可能重名,但不是同一个变量
  • 函数运行结束后,局部变量被释放
  • 可以使用global保留字在函数中使用全局变量

看下面两个例子:

例1: 全局变量s=100,局部变量s=3628800,函数调用完毕后,打印s,则打印的结果是全局变量s,局部变量s已经释放了

例2: 全局变量s初始值100,经过函数处理后为s=362880000,函数调用完毕后,打印s,则打印的结果是经过函数处理后的值,函数作用于对全局变量上了

 

 2. 局部变量为组合类型数据且在函数内部未创建而直接调用,则等同于全局变量

此例中,局部变量ls在函数体中未创建而直接被调用,则认为ls为全局变量,函数对ls的修改直接影响到全局变量ls 

此例中,创建了全局变量和局部变量ls,函数对ls的修改作用于局部变量,局部变量和全局变量是不同的变量

对基本对数据类型,也是可以调用全局变量的,但是不可改变(如果对s进行赋值,那么必须先定义局部变量),比如

s = 1
def func(x):    
    return x**2 + s
print(func(3))
    
>>> 10

 

 

规则总结:

  1. 基本数据类型,无论是否重名,全局变量和局部变量不同
  2. 函数可以调用全局变量作为输入的
  • 对基本数据类型,这个变量不可变,只能作为输入参数

  • 对于组合数据类型,则这个变量相当于在函数中调用全局变量,是可以被更改

3. 可以使用global保留字在函数中申明全局变量

 

 

  • 13
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值