pin_drop当前位置:知识文库 ❯ 图文
Python局部变量 - 变量作用域与生命周期
一、概述
局部变量是在函数内部定义的变量,只在函数执行期间存在。函数调用结束后,局部变量被销毁。不同函数中的局部变量互不影响。
二、语法
代码示例
def func():
local_var = value三、基本用法
代码示例
def my_function():
message = "Hello"
print(message)
my_function()
print(message)运行结果:
代码示例
Hello
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'message' is not defined
函数外部的message变量不存在,因为它是局部变量,只在函数内部有效。
四、不同函数的局部变量互不影响
代码示例
def func_a():
x = 10
print(f"func_a: x = {x}")
def func_b():
x = 20
print(f"func_b: x = {x}")
func_a()
func_b()输出:
代码示例
func_a: x = 10
func_b: x = 20五、参数也是局部变量
代码示例
def greet(name):
name = name.upper()
print(f"Hello, {name}!")
greet("alice")输出:
代码示例
Hello, ALICE!六、注意事项
注意:局部变量在函数内部定义,只在函数执行期间存在。不同函数的局部变量互不影响。函数参数也是局部变量。
七、小结
-
局部变量在函数内部定义
-
生命周期:只在函数执行期间存在
-
独立性:不同函数的局部变量互不影响
-
参数:函数参数也是局部变量
八、练习题
练习1
编写函数 count_chars(text) 统计字符数,使用局部变量
练习2
编写函数 swap_values(a, b) 尝试交换值,观察局部变量效果
常见问题
函数执行完毕后局部变量还存在吗?
不存在。函数调用结束后,局部变量会被销毁,其占用的内存也会被释放。
不同函数可以有相同名字的局部变量吗?
可以,不同函数的局部变量互不影响,即使名字相同,它们也是完全独立的变量。
函数参数算局部变量吗?
是的,函数参数也是局部变量,只在函数内部有效,函数调用结束后会被销毁。
小贴士
局部变量的作用域仅限于函数内部,这种封装性使得代码更加模块化和安全。在函数内部修改局部变量不会影响到函数外部的代码。如果需要查看局部变量的作用域,可以使用 locals() 函数获取当前局部变量的字典。
标签:
局部变量
变量作用域
变量生命周期
Python基础
函数参数
变量封装
本文涉及AI创作
内容由AI创作,请仔细甄别