作用域和变量 :全局作用域 全局变量 局部作用域 局部变量

全局变量与局部变量:

attention:

1 调用函数时,Python 会优先在局部作用域内寻找变量,找不到再去外层的全局变量寻找,如果都找不到则报 NameError 的错误

# 这里的 rule 在函数外是全局变量
rule = '965 工作制'

def busy_company():
  # 这里的 rule 在函数内是局部变量
  rule = '996 工作制'
  print('忙碌企业:' + rule)

def common_company():
  # 函数内没有定义 rule,会去全局变量里找
  print('常规企业:' + rule)

busy_company()
common_company()

全局作用域和局部作用域:

以把全局作用域想象成外面的世界,局部作用域想象成你自己的家。外面世界里的的东西大家都可以使用,而你自己家或别人家的东西可是不能随意使用的,只能家对应的主人才可以使用。你可能会好奇,有没有办法在全局作用域访问局部作用域的变量?当然!只需要在局部变量前加上 global 关键字即可

def busy_company():
  global rule  # 声明为全局变量
  rule = '996 工作制'
  print('忙碌企业:' + rule)

def common_company():
  print('常规企业:' + rule)

busy_company()
# 输出:忙碌企业:996 工作制
common_company()
# 输出:常规企业:996 工作制
print(rule)
# 输出:996 工作制

 

rule = '996 工作制'

def common_company():
  global rule  # 声明为全局变量
  rule = '965 工作制'
  
common_company()
print(rule)
# 输出:965 工作制

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值