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创作,请仔细甄别

list快速访问

上一篇: Python函数返回值 - return语句 下一篇: Python全局变量 - 变量作用域与global关键字

poll相关推荐