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


Posted in Python onDecember 30, 2019

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

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

Python 相关文章推荐
python连接oracle数据库实例
Oct 17 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
Python2.x与Python3.x的区别
Jan 14 Python
Python开发的十个小贴士和技巧及长常犯错误
Sep 27 Python
PYTHON EVAL的用法及注意事项解析
Sep 06 Python
基于keras 模型、结构、权重保存的实现
Jan 24 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
Python基于os.environ从windows获取环境变量
Jun 09 Python
python中return不返回值的问题解析
Jul 22 Python
Python 利用OpenCV给照片换底色的示例代码
Aug 03 Python
使用pytorch实现可视化中间层的结果
Dec 30 #Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 #Python
Pytorch之保存读取模型实例
Dec 30 #Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 #Python
Python中如何将一个类方法变为多个方法
Dec 30 #Python
pytorch 实现打印模型的参数值
Dec 30 #Python
Python如何基于smtplib发不同格式的邮件
Dec 30 #Python
You might like
php echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
php简单压缩css样式示例
2016/09/22 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
JS 文件大小判断的实现代码
2010/04/07 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
Python pip使用超时问题解决方案
2020/08/03 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
自学考试自我鉴定范文
2013/09/26 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
高二语文教学反思
2016/02/16 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
分析并发编程之LongAdder原理
2021/06/29 Java/Android
MySQL一些常用高级SQL语句
2021/07/03 MySQL
openstack云计算keystone组件工作介绍
2022/04/20 Servers
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis