python学习笔记——python动态变量命名-locals()和globals()

本文介绍了Python中的动态变量命名,重点讨论了locals()和globals()的区别。locals()显示局部命名空间的内容,但不可直接修改,而globals()则允许读写,用于全局变量。建议在动态赋值时使用globals(),并提供了示例进行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#-*- coding:utf-8 -*-

#在python中,变量是以字典形式存储的存储的
#globals()是全局变量(其中还包括了一大堆诸如__main__之类的系统变量等特殊变量)
#locals()则是局部变量

#当然,在没有变量时局部变量是空,全局变量则是由一堆默认变量组成

def print_1():
    print('locals():', locals())
    print('globals():', globals())
    
print_1()

 

#顺带一提,在全局下,局部变量和全局变量是一样的
#print('locals():', locals())
#print('globals():', globals())

#创建一个值,局部变量就有内容了。

def print_2():
    a = 1
    b = 2
    print('locals():', locals())
    print('globals():', globals())

print_2()


    
#此外,基于python中的变量都是以字典形式储存的,这就为动态变量命名提供了可能
 

for i in range(3):
    locals()['a{}'.format(i)] = i**2
    print(a0, a1, a2)


#会报错
#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值