❤️ 专栏简介:本专栏记录了我个人从零开始学习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
在函数内部和外部都可以访问到,它的作用范围包括整个程序。
全局变量与局部变量的区别
- 局部变量只在函数内部有效,而全局变量可以在函数内外都有效。
- 局部变量和全局变量的命名可以相同,但在函数内部访问时,优先使用局部变量。
- 在函数内部,如果需要修改全局变量的值,可以使用
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
,在函数内部修改了全局变量的值,并在函数外部访问时得到修改后的值。
作用域的注意事项
- 在函数内部可以访问全局变量,但不能修改其值,除非使用
global
关键字进行声明。 - 局部变量的作用范围仅限于函数内部,在函数外部无法访问。
- 全局变量的作用范围包括函数内外,整个程序都可以访问到。
参考链接:
- Python 官方文档 - 变量作用域
- Real Python - Python Scope & the LEGB Rule: Resolving Names in Your Code