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检测lvs real server状态
Jan 22 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
教你用Type Hint提高Python程序开发效率
Aug 08 Python
简单谈谈python中的Queue与多进程
Aug 25 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
python安装教程
Feb 28 Python
pandas表连接 索引上的合并方法
Jun 08 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
anaconda如何查看并管理python环境
Jul 05 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
pandas处理csv文件的方法步骤
Oct 16 Python
python re模块和正则表达式
Mar 24 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和ACCESS写聊天室(一)
2006/10/09 PHP
用php将任何格式视频转为flv的代码
2009/09/03 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
laravel 操作数据库常用函数的返回值方法
2019/10/11 PHP
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
wxpython 学习笔记 第一天
2009/03/16 Python
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
python中字符串前面加r的作用
2015/06/04 Python
python之Character string(实例讲解)
2017/09/25 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
python 回溯法模板详解
2020/02/26 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
Java语言程序设计测试题改错题部分
2014/07/22 面试题
给男朋友的道歉信
2014/01/12 职场文书
高二历史教学反思
2014/01/25 职场文书
社会实践活动总结
2015/02/05 职场文书
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android