Python 变量在函数中的作用域

什么是局部变量?

作用范围在函数内部,在函数外部无法使用

什么是全局变量?

在函数内部和外部均可使用

如何将函数内定义的变量声明为全局变量?

使用global关键字, global变量

练习:

演示局部变量

python 复制代码
# 演示局部变量
def test_a():
    num = 100
    print(num)
test_a()
# 出了函数体,局部变量就无法使用了
print(num)


演示全局变量

python 复制代码
# 演示全局变量
num = 200
def test_a():
    print(f"test_a:{num}")
def test_b():
    print(f"test_b:{num}")
test_a()
test_b()
print(num)

在函数内修改全局变量

注意直接在函数内修改变量num值(即没有使用global关键字)并不会改变全局变量num的值,并且函数内的num任然是局部变量。示例代码如下:

python 复制代码
# 函数内未使用global关键字声明变量,则仍然是局部变量
num = 200
def test_a():
    print(f"test_a:{num}")
def test_b():
    num = 500  # 此处num是局部变量
    print(f"test_b:{num}")
test_a()
test_b()
print(num)


使用关键字global在函数内对全局变量进行修改,代码如下:

python 复制代码
# 演示在函数内修改全局变量
num = 200
def test_a():
    print(f"test_a:{num}")
def test_b():
    global num # global关键字声明num为全局变量
    num = 500  # 此处num是全局变量
    print(f"test_b:{num}")
test_a()
test_b()
print(num)
相关推荐
用户8356290780513 小时前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
侃侃_天下3 小时前
最终的信号类
开发语言·c++·算法
c8i3 小时前
python中类的基本结构、特殊属性于MRO理解
python
echoarts4 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
liwulin05064 小时前
【ESP32-CAM】HELLO WORLD
python
Aomnitrix4 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
Doris_20234 小时前
Python条件判断语句 if、elif 、else
前端·后端·python
Doris_20234 小时前
Python 模式匹配match case
前端·后端·python
每天回答3个问题5 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说5 小时前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox