Python(九十四)变量的作用域

本文详细介绍了Python编程中的作用域概念,区分了局部变量和全局变量,以及它们在函数内外的访问规则。适合初学者了解Python变量管理的关键概念。
摘要由CSDN通过智能技术生成

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。
☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无论你是学生、职场人士还是对编程感兴趣的爱好者,都能从中受益。跟着我的学习笔记一起学习python吧。
🌙专栏目标:本专栏的目标是帮助我自己记忆、方便回顾所学知识以及帮助其他想学习python的小伙伴掌握Python编程语言的基本概念和技巧,并逐步提高我们的编程能力。通过这个专栏,我们将学会如何编写Python代码,理解各种数据类型、控制结构和函数,掌握常用的Python模块和库,以及应用Python解决实际问题。

⭐️ 专栏主要内容: 主要学习python的开发环境搭建;Python的基础知识,包括变量、数据类型、条件语句和循环等;python的数据结构和算法;python的函数和模块;python的文件处理等。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:从零开始的Python入门之路

在Python代码中,作用域决定了变量在程序中的可见范围和生命周期。本文详细介绍Python中变量的作用域概念,包括局部变量和全局变量,并说明它们之间的区别。

在这里插入图片描述

作用域的概念

作用域是指程序代码能访问该变量的区域。Python中的作用域分为局部作用域和全局作用域。局部作用域是指在函数内定义的变量,而全局作用域是指在函数外定义的变量。

局部变量

局部变量是在函数内部定义并使用的变量,它们的作用范围仅限于函数内部。当函数执行完毕后,局部变量的生命周期也就结束了。

def my_function():
    # 定义局部变量
    x = 10
    print("Inside function, x is:", x)

# 调用函数
my_function()
# 尝试在函数外部访问局部变量
print("Outside function, x is:", x)  # 这里会报错,因为x是局部变量,无法在函数外部访问

运行结果:

Inside function, x is: 10
NameError: name 'x' is not defined

解释:在函数my_function内部定义了局部变量x,该变量只能在函数内部访问,尝试在函数外部访问时会报错。

全局变量

全局变量是在函数体外定义的变量,它们的作用范围包括函数内外,整个程序都可以访问到。

# 定义全局变量
y = 20

def my_function():
    print("Inside function, y is:", y)

# 调用函数
my_function()
# 在函数外部访问全局变量
print("Outside function, y is:", y)

运行结果:

Inside function, y is: 20
Outside function, y is: 20

解释:全局变量y在函数内部和外部都可以访问到,它的作用范围包括整个程序。

全局变量与局部变量的区别

  1. 局部变量只在函数内部有效,而全局变量可以在函数内外都有效。
  2. 局部变量和全局变量的命名可以相同,但在函数内部访问时,优先使用局部变量。
  3. 在函数内部,如果需要修改全局变量的值,可以使用global关键字进行声明。
# 定义全局变量
z = 30

def my_function():
    # 使用global声明全局变量
    global z
    z = 40
    print("Inside function, z is:", z)

# 调用函数
my_function()
# 在函数外部访问修改后的全局变量
print("Outside function, z is:", z)

运行结果:

Inside function, z is: 40
Outside function, z is: 40

解释:通过global关键字声明全局变量z,在函数内部修改了全局变量的值,并在函数外部访问时得到修改后的值。

作用域的注意事项

  1. 在函数内部可以访问全局变量,但不能修改其值,除非使用global关键字进行声明。
  2. 局部变量的作用范围仅限于函数内部,在函数外部无法访问。
  3. 全局变量的作用范围包括函数内外,整个程序都可以访问到。

参考链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘凉~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值