python locals()函数
当一个函数中需要的参数、变量个数不确定时,需要根据需求动态的生成变量并赋予相应的值,这时可以用到locals()这个函数
locals以字典的形式返回当前函数运行环境下的所有局部变量
字典的key是变量名
字典的value是变量的值
通过对这个字典增加新的key、value即可产生新的变量,调用时用变量的名取这个字典中取变量的值或根据某个值得到变量名
例子:
dynamic_variable = locals()
for i in range(0,4):
dynamic_variable[f'new_var{i}']=i
print(dynamic_variable['new_var0'])
print(dynamic_variable['new_var1'])
print(dynamic_variable['new_var2'])
print(dynamic_variable['new_var3'])
配合*args参数
可以达到对任意适量的传入值进行整理、重新赋值的操作。
def test(var1,var2, *args, **kwargs):
dynamic_variable = locals()
arg_num = len(args)
result_list = []
if arg_num > 0:
for i, arg in enumerate(args):
if isinstance(arg, str):
dynamic_variable['dynamic' + str(i)] = [arg]
elif isinstance(arg, list):
dynamic_variable['dynamic' + str(i)] = arg
本文介绍了Python中的locals()函数,该函数能以字典形式返回当前函数环境下的所有局部变量。通过修改此字典,可以动态创建并赋值新的局部变量,适用于变量数量不确定的场景。同时展示了如何结合*args参数实现对传入值的整理与赋值。
675

被折叠的 条评论
为什么被折叠?



