python中的global语句

global 语句

如果需要在一个函数内修改全局变量,就使用 global 语句。如果在函数的顶部 有 global eggs 这样的代码,它就告诉 Python,“在这个函数中,eggs 指的是全局变 量,所以不要用这个名字创建一个局部变量。”

def spa():
	global eggs
	eggs = 'spa'
eggs = 'global'
spa()
print(egg)

Output : spa
因为 eggs 在 spa()的顶部被声明为 global,所以当 eggs 被赋值为’spa’时, 赋值发生在全局作用域的 spa 上。没有创建局部 spa 变量。
有 4 条法则,来区分一个变量是处于局部作用域还是全局作用域:

  1. 如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量。
  2. 如果在一个函数中,有针对该变量的 global 语句,它就是全局变量。
  3. 否则,如果该变量用于函数中的赋值语句,它就是局部变量。
  4. 但是,如果该变量没有用在赋值语句中,它就是全局变量。
def spam(): 
	global eggs
	eggs = 'spam' # this is the global
def bacon():
    eggs = 'bacon' # this is a local
def ham():
    print(eggs) # this is the global
eggs = 42 # this is the global
spam()
print(eggs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值