全局变量与局部变量:
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 工作制