Python locals() 函数



**Python locals() 函数** 是一个 内置函数,它返回一个字典,表示当前的本地符号表。它提供了访问所有本地变量、函数及其对应值的途径。请注意,符号表是由 Python 编译器在执行给定代码之前创建的。

在 Python 中,每个程序都有一个符号表,其中包含有关程序中定义的名称(变量函数、类等)的信息。符号表由一个 字典 表示,其中名称是键,关联的值表示其当前值或引用。

语法

以下是 Python **locals()** 函数的语法:

locals()

参数

Python **locals()** 函数不接受任何参数。

返回值

Python **locals()** 函数返回一个字典,表示本地符号表。

locals() 函数示例

练习以下示例以了解如何在 Python 中使用 **locals()** 函数。

示例:locals() 函数的使用

locals() 函数可用于跟踪给定函数中的局部变量。下面的代码将显示当前作用域中的所有局部变量。

def localFun():
   localVar1 = 112
   localVar2 = "TutorialsPoint"
   print(locals())

print("The local attributes of the given functions are:")
localFun()

以下是上述代码的输出:

The local attributes of the given functions are:
{'localVar1': 112, 'localVar2': 'TutorialsPoint'}

示例:使用 locals() 函数更改变量的值

对 locals() 函数返回的字典所做的更改将被忽略,这意味着它们不会影响局部变量的值。这就是为什么当我们对局部变量进行修改时,它不会影响局部变量。在这个例子中,我们可以看到修改前后的影响。

def localFun():
   localVar = 56
   print("Before modifying:", localVar)
   locals()["localVar"] = 26
   print("After modifying:", localVar)

localFun()

上述代码的输出如下:

Before modifying: 56
After modifying: 56

示例:locals() 函数在局部变量和实例变量中的使用

以下代码演示了如何在类函数中使用 locals() 函数查看局部变量和实例变量的工作方式。此代码将返回一个字典,其中 "self" 作为键,指向给定类的实例。

class LocalClass:
   def localMethod(self):
       self.localVar = 100
       print(locals())

obj = LocalClass()
obj.localMethod()

以下是上述代码的输出:

{'self': <__main__.LocalClass object at 0x7b1718cc2fd0>}

示例:locals() 函数在 Lambda 表达式中的使用

我们也可以将 locals() 函数与 lambda 表达式一起使用。这里,我们创建了一个 lambda 表达式,它返回其局部变量。

localLambda = lambda loclaVar: locals()
print(localLambda(52))

上述程序执行后,将显示以下输出:

{'loclaVar': 52}
python_built_in_functions.htm
广告

© . All rights reserved.