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

Python函数中的全局变量详解

1、什么是全局变量?

在Python中,全局变量指的是可以作用于函数内部和外部的变量。

在这里有两种情况:在函数的外部定义和内部定义添加global关键词变成全局变量。

2、在函数外部定义的变量是全局变量。

假设一个变量在函数的外部定义,那么这个函数就可以在函数的内部访问,也可以在函数的外部的访问。

示例:定义一个全局变量b,然后定义一个函数a,最后在该函数的内部和外部输出全局变量m的值,​​代码​​如下:

1

2

3

4

5

b='我爱Python,我在学习Python!'# 定义全局变量

defa():# 定义函数

print('函数内部全局变量b=',b)# 在函数内部输出全局变量

a()

print('函数外部全局变量b=',b)# 在函数外部输出全局变量

运行结果如下:

1

2

3

函数内部全局变量b=我爱Python,我在学习Python!

函数外部全局变量b=我爱Python,我在学习Python!

>>>

3、在函数内部定义中添加global关键词后变成全局变量。

在Python中,内部定义的函数中,添加关键词global后,改变量就变成了全局变量。在函数的外部也可以访问到该变量,同时还可以在函数的内部进行修改。

示例:定义相同名称不同内容的全局变量和局部变量b,并输出它们的值:

1

2

3

4

5

6

7

b='我爱Python,我在学习Python!'# 定义全局变量

print('函数外部全局变量b=',b)# 在函数外部输出全局变量

defa():# 定义函数

b='人生苦短,我用Pyhon!'# 定义局部变量

print('函数内部局部变量b=',b)# 在函数内部输出全局变量

a()# 调用函数

print('函数外部全局变量b=',b)# 在函数外部输出全局变量

运行结果如下:

1

2

3

4

函数外部全局变量b=我爱Python,我在学习Python!

函数内部局部变量b=人生苦短,我用Pyhon!

函数外部全局变量b=我爱Python,我在学习Python!

>>>

从上面的结果可以看出,内部变量(局部变量)可以和外部变量(全局变量)重名,不影响全局变量的值。

当然在函数内部变量前面添加关键字global,就变成了全局变量了,代码如下:

1

2

3

4

5

6

7

8

b='我爱Python,我在学习Python!'# 定义全局变量

print('函数外部全局变量b=',b)# 在函数外部输出全局变量

defa():# 定义函数

globalb# 添加global关键字

b='人生苦短,我用Pyhon!'# 定义局部变量

print('函数内部全局变量b=',b)# 在函数内部输出全局变量

a()# 调用函数

print('函数外部全局变量b=',b)# 在函数外部输出全局变量

运行结果如下:

1

2

3

4

函数外部全局变量b=我爱Python,我在学习Python!

函数内部全局变量b=人生苦短,我用Pyhon!

函数外部全局变量b=人生苦短,我用Pyhon!

>>>

从上面的结果可以看出,在函数的内部也可以修改全局变量的值。


http://www.jsqmd.com/news/792181/

相关文章:

  • 量子计算机来了,你的企业网络隧道还安全吗?
  • PostgreSQL高级特性详解
  • Redis学习8 Redis数据结构(1)
  • 基于Vue.js与AI对话的智能思维导图生成器开发实践
  • 终极解决方案:如何快速批量转换GBK到UTF-8编码文件
  • 一次例行密钥轮换,让数百万德国域名集体蒸发
  • 独立开发者工具箱:2026年全栈与AI应用高效开发技术栈指南
  • MongoDB聚合与查询优化详解
  • 如何在 Docker 容器中部署企业微信机器人服务保证高可用
  • 31_AI短片实战第四弹:主观视角空间控制与分屏快速剪辑的AI生成策略(附提示词)
  • 高管求职渠道公司实测:4家机构核心能力对比评测 - 得赢
  • 两次全球宕机之后,Cloudflare 用半年时间重建了什么
  • 2026届最火的AI写作平台推荐榜单
  • Logseq AI助手插件:在知识管理笔记中集成ChatGPT智能写作与编辑
  • hls::stream<ap_uint<DW * NPPC>> src,报错原因分析
  • 32_AI短片实战第五弹:飞跃峡谷——高潮镜头的“放手”哲学与首帧脑补策略(附提示词)
  • DeepSeek V4 横向对比真实表现
  • 终极指南:如何用NPYViewer快速查看和可视化NumPy数组数据
  • YOLO11进阶技巧:数据增强策略 | 舍弃传统Mosaic,引入Copy-Paste与MixUp混合数据增强,有效缓解过拟合
  • R7000P梅林固件进阶玩法:解锁软件中心、挂载U盘与插件安装全攻略
  • 告别数据丢失焦虑:用Python手把手实现Reed-Solomon码(附完整代码)
  • 避开Verilog状态机设计里的那些‘坑’:从HDLbits的Fsm hdlc题看帧同步错误处理
  • 2026年4月优质的vi设计团队推荐,山野风餐饮设计/连锁餐饮品牌设计/连锁餐厅品牌设计,vi设计团队选哪家 - 品牌推荐师
  • 2026最权威的六大AI写作平台解析与推荐
  • LinkSwift:九大网盘直链解析工具使用指南
  • HDLbits进阶实战:FSM与移位寄存器在复杂时序电路中的四种设计范式
  • 三步永久保存微信聊天记录的完整指南:告别数据丢失的烦恼
  • 2026届最火的六大降AI率网站实测分析
  • 终极Notero使用指南:如何快速实现Zotero与Notion文献同步
  • 避开这3个坑,你的PMSM滑模观测器仿真结果才能和论文里一样准