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

yipeiwu_com6年前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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python requests模块实例用法

1、Requests模块说明 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。 Python 标准库中的 u...

python 实现求解字符串集的最长公共前缀方法

问题比较简单,给定一个字符串集合求解其中最长的公共前缀即可,这样的问题有点类似于最长公共子序列的问题,但是比求解最长最长公共子序列简单很多,因为是公共前缀,这样的话只需要挨个遍历即可,只...

Python实现模拟浏览器请求及会话保持操作示例

Python实现模拟浏览器请求及会话保持操作示例

本文实例讲述了Python实现模拟浏览器请求及会话保持操作。分享给大家供大家参考,具体如下: python下读取一个页面的数据可以通过urllib2轻松实现请求 import url...

python随机数分布random测试

python随机数分布random测试

因为概率问题,所以需要测试一下python的随机数分布。到底是平均(均匀)分布,还是正态(高斯)分布。 测试代码如下: #! /usr/bin/env python #coding=...

Flask框架实现给视图函数增加装饰器操作示例

本文实例讲述了Flask框架实现给视图函数增加装饰器操作。分享给大家供大家参考,具体如下: 在@app.route的情况下增加装饰器的写法: from flask import Fl...