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

全局变量与局部变量两者的本质区别就是在于作用域

用通俗的话来理解的话,全局变量是在整个py文件中声明,全局范围内都可以访问。

局部变量是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地方调用,程序就爆掉了

如果在函数内部定义与某个全局变量一样名称的局部变量,就可能会导致意外的效果,可能不是你期望的。因此不建议这样使用,这样会使得程序很不健全。

尽量少用全局变量,因为它可以在其他函数中被修改。

如果全局变量是list、字典、集合,修改的话是不需要声明的,可直接修改。

如果是字符串、int、float、元组,需要声明global,才能修改。

 

name='xiaoming' #全局变量
stus=[]  #全局变量
#如果全局变量是list、字典、集合,修改的话是不需要声明的,可直接修改
#字符串、int、float、元组,需要声明global

def a():
    global name #声明全局变量,在修改后,即可修改全局变量
    stus.append('abc')
    name='hhh'
    print(name)  #调用时输出: hhh


def b():
    print(stus) #调用时输出: ['abc']
    print(name) #调用时输出: hhh
    age=18
    print(age)

a()
b()

#调用a和b输出的结果如下:
# hhh
# ['abc']
# hhh
# 18

 

 

更多小栗子,请参考:

https://www.cnblogs.com/Archmage/p/7569817.html

 

转载于:https://www.cnblogs.com/denise1108/p/10060987.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值