python 动态变量创建locals()

本文探讨了在Python中如何动态创建局部变量,并指出在函数内创建并尝试直接返回这些变量时遇到的问题。文章提供了正确的返回方法,即通过字典间接访问变量。

通过以下程序可以动态创建局部变量

names = locals()

for i in range(3):

    names['n' + str(i) ] = i

    #创建后直接调用变量名没问题

    print(n0, n1, n2)

但是,使用中发现,如果动态创建的变量实在函数中创建的且最后需要被return 返回,则如下写法就不行,会提示没有定义n0等。

def():

    names = locals()

    for i in range(3):

        names['n' + str(i) ] = i

    #创建后直接调用变量名没问题

    return  n0,n1,n2

对于这种情况,上述的return 应该改写为

    return names['n0'],names['n1'],names['n2']

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值