在 Python locals函数 的学习过程中,很多初学者常常感到困惑:它到底有什么用?和 globals() 有什么区别?今天我们就来彻底搞懂这个强大又实用的 Python内置函数。

locals() 是 Python 的一个 内置函数,用于返回当前局部作用域中所有变量名及其对应值的字典。简单来说,它能让你“看到”当前函数内部定义了哪些变量。
它的语法非常简单:
locals()调用它不需要任何参数,直接使用即可。
让我们通过一个简单的例子来看看 locals() 到底返回了什么:
def my_function(): name = "小明" age = 25 city = "北京" local_vars = locals() print(local_vars)my_function()运行结果:
{'name': '小明', 'age': 25, 'city': '北京'}可以看到,locals() 返回了一个字典,包含了函数内部所有局部变量的名称和值。
很多初学者容易混淆 locals() 和 globals()。它们的核心区别在于变量作用域:
locals():返回当前局部作用域中的变量(如函数内部)globals():返回全局作用域中的变量(模块级别)来看一个对比示例:
x = "全局变量"def test_scope(): y = "局部变量" print("locals():", locals()) print("globals():", list(globals().keys())) # 只打印键名避免输出太长test_scope()输出结果会显示:locals() 只包含 y,而 globals() 包含 x 以及所有模块级别的变量(如函数名、导入的模块等)。
虽然 locals() 看起来只是个“查看工具”,但它在以下场景非常有用:
.format() 使用例如,用 locals() 动态格式化字符串:
def greet_user(): username = "Alice" score = 95 message = "欢迎 {username}!您的分数是 {score} 分。".format(**locals()) print(message)greet_user()输出:
欢迎 Alice!您的分数是 95 分。使用 locals() 时需要注意以下几点:
locals(),其效果等同于 globals()locals() 返回的字典通常不会影响实际变量(在 CPython 中尤其如此),因此不建议通过它来赋值locals() 可能降低代码可读性,应谨慎使用通过本文,我们详细介绍了 Python locals函数 的基本用法、与 globals() 的区别、实际应用场景以及使用注意事项。掌握 locals() 不仅能帮助你更好地理解 变量作用域,还能在调试和开发中提升效率。
记住:它是你探索函数内部世界的“显微镜”,合理使用能让代码更灵活、更易维护。
关键词回顾:Python locals函数、locals()用法、Python内置函数、变量作用域
本文由主机测评网于2025-12-14发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127466.html