4.4 Python3进阶-变量作用域
Posted PortosHan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.4 Python3进阶-变量作用域相关的知识,希望对你有一定的参考价值。
>>返回主目录
源码
# 变量作用域
a_test_1 = 1 # 全局变量
def scope_demo():
# print(f\'函数内初始a_test_1的值是:{a_test_1}\')
a_test_1 = 2 # 局部变量
b_test_1 = 4 # 局部变量
b_test_1 = a_test_1 + b_test_1 # 修改局部变量的值
print(f\'函数内a_test_1的值是:{a_test_1}, 函数内b_test_1的值是:{b_test_1}\')
scope_demo()
print(f\'函数外a_test_1的值是:{a_test_1}\')
# print(f\'函数外b_test_1的值是:{b_test_1}\')
源码
# 修改作用域变量:global和nonlocal
# global的使用,例如:
a_test_2 = 10 # 全局变量
def change_scope_demo():
global a_test_2 # 使用global关键字声明全局变量
a_test_2 = 2
print(f\'修改后函数内a_test_2的值是:{a_test_2}\')
change_scope_demo()
print(f\'函数外a_test_2的值是:{a_test_2}\')
# nonlocal的使用(适用嵌套函数内部,无法修改全局变量),例如:
a_test_3 = 100
def outer_fun():
# global a_test_3 # 如果在外函数内,声明了全局变量,那么使用nonlocal关键字声明内函数变量时,就无法找到外函数内的局部变量,会报错
a_test_3 = 20
def inner_fun_1():
nonlocal a_test_3
print(f\'在内函数中a_test_3的值是:{a_test_3}\')
a_test_3 = 10
print(f\'修改后内函数a_test_3的值是:{a_test_3}\')
inner_fun_1() # 调用内部函数
print(f\'外函数内a_test_3的值是:{a_test_3}\')
outer_fun()
print(f\'函数外a_test_3的值是:{a_test_3}\')
>>返回主目录
以上是关于4.4 Python3进阶-变量作用域的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段
我的Android进阶之旅关于Android平台获取文件的mime类型:为啥不传小写后缀名就获取不到mimeType?为啥android 4.4系统获取不到webp格式的mimeType呢?(代码片段