python全局变量和局部变量

本文详细解析了Python中全局变量与局部变量的区别,包括它们的定义、使用场景及如何在函数内外进行正确引用。特别强调了在函数内修改全局变量的方法,以及对可变与不可变类型变量的操作差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在函数内部定义的变量叫局部变量,在函数外定义的变量叫全局变量

  • 如果全局变量和局部变量名称相同,则在函数内部用的是局部变量的值,就像就近原则一样;在函数体外,用的还是全局变量
a = 10

def test():
    a = 11
    print(a)

test()

print(a)

结果

11
10
  • 如果想在函数内部修改不可变类型全局变量的值,则需要global关键字修饰
a = 10

print(a)
def test1():
    # 如果想修改全局变量必须加global
    global a
    a = 100
    print("global a %d"%a)


test1()

def test2():
    print(a)

test2()

运行结果:

10
100
100
  • 在函数内部修改可变类型的全局变量的值,不需要任何修饰

Python中的可变类型:

  1. 列表 list
  2. 字典 dict

不可变类型

  1. 数值类型 int, long, bool, float
  2. 字符串 str
  3. 元组 tuple
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值