python 动态生成变量并调用

本文介绍了Python中的locals()函数,该函数能以字典形式返回当前函数环境下的所有局部变量。通过修改此字典,可以动态创建并赋值新的局部变量,适用于变量数量不确定的场景。同时展示了如何结合*args参数实现对传入值的整理与赋值。

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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值