加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-17 17:34:06 所属栏目:Python 来源:网络整理
导读:这篇文章主要介绍了Python动态声明变量赋值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过exec()、globals()和locals() # 通过exec()for i in range(1,4): # 第一次循环 i=1 时,会执行字

这篇文章主要介绍了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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读