当前位置: 首页 > article >正文

Python 变量在函数中的作用域

什么是局部变量?

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

什么是全局变量?

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

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

  • 使用global关键字, global变量

练习:

  • 演示局部变量

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

局部变量
局部变量失效

  • 演示全局变量

# 演示全局变量
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任然是局部变量。示例代码如下:

# 函数内未使用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在函数内对全局变量进行修改,代码如下:

# 演示在函数内修改全局变量
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)

全局变量修改


http://www.kler.cn/a/374610.html

相关文章:

  • 【探索新视界】体验ONLYOFFICE:打破传统,开启文档编辑与协作新篇章
  • 自动化运维
  • LSTM,全称长短期记忆网络(Long Short-Term Memory),是一种特殊的循环神经网络(RNN)结构
  • EDA --软件开发之路
  • HTB:Cicada[WriteUP]
  • 执行Django项目的数据库迁移命令时报错:(1050, “Table ‘django_session‘ already exists“);如何破?
  • 富格林:拆穿欺诈套路平稳出金
  • 「C/C++」C++ 之 随机数生成
  • Android 利用责任链模式来实现 解析不同的json对象
  • 【C++】多态(万字详细总结)
  • STM32中独立看门狗(IWDG)与窗口看门狗(WWDG)设计及时间计算
  • 2024年大湾区杯粤港澳金融数学建模B题超详细解题代码+数据集分享+问题一代码分享
  • AI做怀旧视频,自媒体轻松涨粉变现1w+!
  • qt QCheckBox详解
  • 数据结构分类
  • 合理利用IPIDEA代理IP,优化数据采集效率!
  • 掌握DFMEA,让潜在设计缺陷无处遁形!
  • 单细胞数据分析(二):harmony算法整合数据
  • 使用 phpOffice\PhpSpreadsheet 做导出功能
  • idea使用Translation插件实现翻译
  • 学习路之TP6--workman安装
  • 简单的kafkaredis学习之redis
  • vue项目中如何在路由变化时增加一个进度条
  • 基于SSM+小程序的宿舍管理系统(宿舍1)
  • 深度学习基础—循环神经网络(RNN)
  • spring中bean的四种创建方式