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

Python 程序设计讲义(61):Python 的函数——变量的作用域

Python 程序设计讲义(61):Python 的函数——变量的作用域

目录

  • Python 程序设计讲义(61):Python 的函数——变量的作用域
    • 一、局部变量
    • 二、全局变量
        • 1、在函数内访问全局变量
        • 2、在函数内定义和全局变量同名的局部变量
        • 3、在函数内修改全局变量

变量的作用域是指变量有效的范围,即程序代码能够访问到该变量的区域。根据变量的作用域将变量分为局部变量和全局变量。

一、局部变量

局部变量是指在函数内部定义的变量。例如:函数的形参就是局部变量,它只在函数内部有效。当函数调用完毕后,该变量就不存在了。

例如:

def test():x="Hello Python"  #变量x是局部变量,只能在函数内部访问print(x)test()程序的执行结果为:
Hello Python

下面的代码报如下错误:

def test():x="Hello Python"print(x)  #变量x是局部变量,只能在函数内部使用test()
print(x) #变量x不存在,报错程序的执行结果为:
Traceback (most recent call last):
Hello PythonFile "C:\Users\wgx58\PycharmProjects\PythonProject1\hello.py", line 6, in <module>print(x) #变量x不存在,报错^
NameError: name 'x' is not defined

二、全局变量

全局变量是指在函数外定义的变量。该变量在整个函数中都有效,即它能够作用于函数内外。

全局变量的使用分为以下几种情况:

1、在函数内访问全局变量

虽然全局变量定义在函数外,但在函数内和函数外都可以访问该变量。

例如:

x="Hello Python"
def test():print(x)  #变量x是全局变量,函数内部可以访问全局变量
test()
print(x)程序的执行结果为:
Hello Python
Hello Python
2、在函数内定义和全局变量同名的局部变量

在函数内定义和全局变量同名的局部变量,如果在函数内修改局部变量的值,则不影响全局变量。

例如:

x="Hello Python"
def test():x = "Hello World"print(x)  #变量x是局部变量,修改局部变量的值不影响全局变量
test()
print(x)程序的执行结果为:
Hello World
Hello Python
3、在函数内修改全局变量

如果在函数内使用关键字global对全局变量进行声明,那么在函数内部可以对全局变量的值进行修改。

格式如下:

global 变量名

例如:

x="Hello Python"
def test():global x #定义变量x为全局变量x = "Hello World"print(x)
test()
print(x)程序的执行结果为:
Hello World
Hello World
http://www.dtcms.com/a/313656.html

相关文章:

  • 【运维基础】Linux 硬盘分区管理
  • [Oracle] DUAL数据表
  • [自动化Adapt] 录制引擎 | iframe 穿透 | NTP | AIOSQLite | 数据分片
  • 第二节 YOLOv5参数
  • Python 程序设计讲义(59):Python 的函数——labmda函数(匿名函数)
  • 四、驱动篇-HDF驱动介绍2
  • sublime 乱码问题
  • JavaEE文件泄露与修复方案
  • Linux | i.MX6ULL移植 Gdb+Gdbserver 调试(第十四章)
  • 深入解析 Linux Kernel 中的设备树:使用、修改与实际应用
  • 经典文献阅读之--ViNT(视觉导航的基础模型)
  • 《汇编语言:基于X86处理器》第11章 MS-Windows编程(3)
  • 8.3 Java Web(JavaScript P15-P28)
  • Leetcode——365. 水壶问题
  • 决策树模型知识点整理:从原理到实战(含可视化与调参)
  • [硬件电路-134]:模拟电路 - 运算放大器常见运算:两模拟信号相加、相减、单模拟信号的积分、微分...
  • HTTPS的概念和工作过程
  • Ollama模型库模型下载慢完美解决(全平台)
  • 模型学习系列之参数
  • pytorch深度学习全流程:以简易数据、模型介绍
  • linux火焰图
  • vuhub Noob靶场攻略
  • 雪花算法重复id问题
  • Maxscript在选择的可编辑多边形每个面上绘制一个内部圆形
  • 自动驾驶中的传感器技术19——Camera(10)
  • OS21.【Linux】环境变量
  • CMake 命令行参数完全指南(5)
  • graph TD的规则
  • Linux Deepin深度操作系统应用商店加载失败,安装星火应用商店
  • io_getevents 和 io_pgetevents 系统调用及示例