python

超轻量级php框架startmvc

Python动态声明变量赋值代码实例

更新时间:2020-08-17 11:06:01 作者:startmvc
这篇文章主要介绍了Python动态声明变量赋值代码实例,文中通过示例代码介绍的非常详细,

这篇文章主要介绍了Python动态声明变量赋值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

通过exec()、globals()和locals()


# 通过exec()
for i in range(1, 4):
 # 第一次循环 i=1 时,会执行字符串中的python语句 ex1 = "exec1",以此类推
 exec(f'ex{i} = "exec{i}"')

# 通过globals()和locals()
def test():
 # globals()
 for i in range(1, 4):
 # 第一次循环 i=1 时,执行 globals()['gb1'] = 'global1', globals()是一个dict
 globals()[f'gb{i}'] = f'global{i}'

 # locals()
 for i in range(1, 4):
 locals()[f'lc{i}'] = f'local{i}'

 # 尝试打印locals的变量
 try:
 print(lc1, lc2, lc3) # 会报错
 except Exception as e:
 print(e)
 print(locals()['lc1'], locals()['lc2'], locals()['lc3']) # 通过键值对

if __name__ == '__main__':
 # 执行
 test()
 print('---------------------')
 # 打印函数定义的全局变量
 print(gb1, gb2, gb3)
 print('---------------------')
 # 打印通过exec()定义的变量
 print(ex1, ex2, ex3)

输出结果:


name 'lc1' is not defined
local1 local2 local3
---------------------
global1 global2 global3
---------------------
exec1 exec2 exec3

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。