Python动态的拼接变量名

2023-11-15

1. 可以通过python的内置函数locals 来完成

locals是python的内置函数,他可以以字典的方式去访问局部和全局变量。
python里面用名字空间记录着变量,就像javascript的window一样,他记录着各种全局变量。
每个模块,每个函数都有自己的名字空间,记录着变量,常量,类的命名和值。

当python在使用变量时,会按照下面的步骤去搜索:
1、函数或类的局部变量。
2、全局变量。
3、内置变量。
以上三个步骤,其中一下步骤找到对应的变量,就不会再往下找。如果在这三个步骤都找不到,就会抛出异常。

 for i in range(3):
     locals()['a'+str(i)]=i
     print 'a'+str(i)

或者

names = locals()
for i in range(3):
	names['a'+str(i)] = i
	print 'a'+str(i)

2. 对于class,推荐使用setattr()方法

setattr给对象添加属性或者方法

在这里插入图片描述

class test(object) :
    def __init__(self):
        dic={'a':'123','b':'456'}
        for key in dic.keys() :
            setattr(self,key,dic[key]) #第一个参数是对象,这里的self其实就是test.第二个参数是变量名,第三个是变量值
        print(self.a)
        print(self.b)
t=test()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python动态的拼接变量名 的相关文章

  • 使用三个一维数组绘制等值线图

    正如标题所示 我想使用三个一维数组绘制等高线图 这么说吧 x np array 1 2 3 and y np array 1 2 3 and z np array 20 21 45 为了在 matplotlib 中绘制等高线图 我对x an
  • celery任务eta已关闭,使用rabbitmq

    我使用教程中的默认设置和在 ubuntu 上运行的rabbitmq 使 Celery 任务正常进行 当我毫不延迟地安排任务时 一切都很好 但是当我给他们一个预计时间时 他们会被安排在未来 就好像我的时钟在某个地方关闭了一样 下面是一些请求任
  • 学习Python中的解析器

    我记得我读过有关解析器的内容 您只需提供一些示例行 它就知道如何解析某些文本 它只是确定两条线之间的差异 以了解可变部分是什么 我以为它是用 python 写的 但我不确定 有谁知道那是什么图书馆吗 可能你的意思是模板制作器 http co
  • 使用ideone时如何传入命令行参数?

    我正在使用 ideone 在线解释器 http ideone com http ideone com 来测试一些 C 和 Python 程序 如何指定命令行参数而不是使用 STDIN 输入 看起来你不能 但是快速破解应该做的伎俩 stati
  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • 为什么我会收到 ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()

    以下代码给出了值错误 major males for row in recent grads if recent grads Men gt recent grads Women major males append recent grads
  • Python 中“is”运算符的语义是什么?

    如何is运算符确定两个对象是否相同 它是如何工作的 我找不到它的记录 来自文档 http docs python org reference datamodel html 每个对象都有一个身份 一个类型 和一个值 对象的身份 一旦发生就永远
  • argparse 不检查位置参数

    我正在创建一个脚本 它使用 argparse 接受位置参数和可选参数 我已经阅读了 Doug 的教程和 python 文档 但找不到答案 parser argparse ArgumentParser description script t
  • 提高光线追踪命中功能的性能

    我有一个简单的 python 光线追踪器 渲染 200x200 的图像需要 4 分钟 这对于我的口味来说绝对是太多了 我想改善这种情况 几点 我为每个像素发射多条光线 以提供抗锯齿功能 每个像素总共发射 16 条光线 200x200x16
  • Kivy TextInput 水平和垂直对齐(文本居中)

    如何在 Kivy 的 TextInput 中水平居中文本 I have the following screen But I want to centralize my text like this 这是我的 kv 语言的一部分 BoxLa
  • 使用具有可变数量索引的 numpy mggrid

    如何将 numpy mgrid 与可变数量的索引一起使用 我在 github 上找不到任何人将其与硬编码值以外的任何内容一起使用的示例 import numpy as np np mgrid 1 10 1 10 this works fin
  • 为什么我无法杀死 k8s pod 中的 python 进程?

    我试图杀死一个 python 进程 ps aux grep python root 1 12 6 2 1 2234740 1332316 Ssl 20 04 19 36 usr bin python3 batch run py root 4
  • 在字符串内打印单引号

    我想输出 XYZ s ABC 我在Python IDLE中尝试了以下3条语句 第一条和第二条语句输出 a before 带打印功能的第三条语句不输出 before 作为 Python 新手 我想了解为什么 之前输出 在第 1 条和第 2 条
  • 本地主机上的 Google App Engine GQL 查询

    我正在 Google App Engine Windows 上的 SDK 版本 1 7 0 上开发一个应用程序 我需要经常测试该应用程序 并且此测试涉及数据存储上的大量 GQL 查询 您可以在 App Engine 管理界面的浏览器中在线运
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • Django 中使用外键的抽象基类继承

    我正在尝试在 Django 支持的网站上进行模型继承 以遵守 DRY 我的目标是使用一个名为 BasicCompany 的抽象基类来为三个子类提供通用信息 Butcher Baker CandlestickMaker 它们位于各自的应用程序
  • 为数据集生成随机 JSON 结构排列

    我想生成 JSON 结构的许多不同排列作为同一数据集的表示 最好不需要对实现进行硬编码 例如 给定以下 JSON name smith occupation agent enemy humanity nemesis neo 应该产生许多不同
  • 在自定义 keras 层的调用函数中传递附加参数

    我创建了一个自定义 keras 层 目的是在推理过程中手动更改前一层的激活 以下是基本层 它只是将激活值乘以一个数字 import numpy as np from keras import backend as K from keras
  • 将函数按元素应用于两个 DataFrame

    如何应用函数z ij f x ij y ij 来自数据框X and Y相同大小并将结果保存到 DataFrameZ 这取决于你有什么样的功能 很多功能已经被矢量化为数据框 例如 等等 所以对于这些功能 你可以简单地做Z X Y or Z X
  • 如何在不同的目录中执行python脚本?

    Solved对于可能觉得这有帮助的人 请参阅下面我的答案 我有两个脚本 a py 和 b py 在我当前的目录 C Users MyName Desktop MAIN 中 我运行 gt python a py 第一个脚本 a py 在我当前

随机推荐

  • 网银木马TrickBot的分析调试笔记

    Trickbot描述 Trickbot是2016年出现的一种网银木马 它以大银行的客户为目标 窃取他们的信息 自出现以来 新的变体不断出现 每次都有新的技巧和模块更新 Trickbot是一种模块化恶意软件 包括针对其恶意活动的不同模块 主要
  • Elasticsearch使用教程

    下载ES elasticsearch的下载地址 https www elastic co cn downloads elasticsearch ik分词器的下载地址 https github com medcl elasticsearch
  • csharp:百度翻译

    参考 http api fanyi baidu com api trans product index http developer baidu com wiki index php title E5 B8 AE E5 8A A9 E6 9
  • 如何在 Hive 中使用最近的值填补到缺失的日期中

    我花了几天的时间试图弄清楚如何在 Hive 中使用最近的值填补到缺失的日期中 但没有成功 原始表目前看起来像下表 account name available balance Date of balance Peter 50000 2021
  • NVIDIA GTC主题演讲内容学习<4>

    AI的进步为自动化 以前无法想象的任务开辟了新的机会 用子计算机行业的说法 边缘就是计算机接触世界的地方 如今 大量边缘应用可以在云中处理 例如 人们使用收集连接到云服务 对于许多边缘应用 由于响应时间 数据安全性或可靠性原因 或不间断高速
  • UE4 UE4 C++ Gameplay Abilities的GameplayCue

    UE4 UE4 C Gameplay Abilities的GameplayCue GAS参考文档 用GameplayCue 做一个玩家加血 buff效果 初始化 加血 加buff buff消失 加血的播放一个粒子特效 这个是用Gamepla
  • arm32上uImage镜像的生成过程

    arm32上uImage镜像的生成过程 arch arm boot Image cmd cmd arch arm boot Image arm himix200 linux objcopy O binary R comment S vmli
  • 【机器学习系列】变分推断第三讲:基于随机梯度上升法SGD的变分推断解法

    作者 CHEONG 公众号 AI机器学习与知识图谱 研究方向 自然语言处理与知识图谱 阅读本文之前 首先注意以下两点 1 机器学习系列文章常含有大量公式推导证明 为了更好理解 文章在最开始会给出本文的重要结论 方便最快速度理解本文核心 需要
  • 【前端】Vue项目:旅游App-(12)home-Calendar:日期选择、日历、动态显示时间

    文章目录 目标 过程与代码 安装依赖 结构样式 动态数据 默认数据今天明天 添加日历 修改样式 动态数据 显示日历中选择的数据 效果 总代码 修改或添加的文件 formatDate js home vue main js 目标 点击时间 弹
  • windows测试工具—syslog-server搭建

    1 解压附件小工具 双击打开 syslog server服务器就搭建好了 2 syslog server信息 IP地址为跟环境互通的小网地址 TCP UDP端口号为选择Setting gt Network 可以根据需要更改 改为UTF 8编
  • hx711基准电压_(完整版)hx711基本原理讲解

    基本原理讲解 1 5kg 传感器 满量程输出电压 激励电压 灵敏度 1 0mv v 例如 供电电压是 5v 乘以灵敏度 1 0mv v 满量程 5mv 相当于有 5Kg 重力产生时候产生 5mV 的电压 2 711 模块对产生的 5mV 电
  • CentOS 8 最新阿里YUM源

    前文 由于CentOS8 已停止服务 相关源已经停止 前期官方自带的源和前期 阿里 清华 网易 等等的源 都已无法再使用 需要更换源 安装程序时报错 Failed to synchronize cache for repo AppStrea
  • 【Spring源码系列】Bean生命周期-Bean销毁

    文章目录 前言 一 Bean销毁介绍 bean销毁的时机 spring注册DestroyBean时机 定义bean销毁方式以及源码调试 使用 PreDestroy注解 实现DisposableBean或者AutoCloseable接口 手动
  • 使用Redisson实现Java分布式锁

    在分布式系统中 实现并发控制是一个重要的问题 分布式锁是一种常见的解决方案 它可以确保在分布式环境下只有一个进程能够访问共享资源 Redis是一种流行的内存数据存储系统 它提供了分布式锁的功能 在Java中 可以使用Redisson库来集成
  • SpringBoot(三):集成Mybatis

    1 Mybatis逆向工程 逆向工程即为通过数据库逆向生成model类和mapper文件以及接口文件 步骤如下 1 1在pom文件中加入mybatis相关依赖
  • Android系列开发博客资源汇总

    CSDN博客本期热文推荐 为您介绍有关Android应用开发的10个博客 分享他们的日积月累的宝贵经验 希望这些文章对Android开发者们能有所启发和帮助 1 张国威 Android从入门到提高系列 前面写了十四篇关于界面的入门文章 大家
  • Ansible自动化运维工具之playbook剧本编写

    内容预知 目录 内容预知 1 playbook的相关知识 1 1 playbook 的简介 1 2 playbook的 各部分组成 2 基础的playbook剧本编写实例 实例1 playbook编写 apache的yum安装部署剧本 实例
  • 数据治理体系解决方案(附PPT下载)

    下载方式 迎加入星球下载所有资料 转发朋友圈截图回复666亦可下载 加入星球好资料一直有 推荐阅读 世界的真实格局分析 地球人类社会底层运行原理 不是你需要中台 而是一名合格的架构师 附各大厂中台建设PPT 亿级 无限级 并发 没那么难 论
  • java基于微信小程序的四六级英语学习测试系统 uinapp 计算机毕业设计

    通过本课题的研究与分析 能够建立一种基于微信小程序的四六级助手系统 以MySQL为数据库 后端采用Java语言SSM框架 并对系统中的各个模块功能及它们之间相互协调工作进行了详细的分析与设计 尤其是对实现方法和过程进行了细致的设计与实现 最
  • Python动态的拼接变量名

    1 可以通过python的内置函数locals 来完成 locals是python的内置函数 他可以以字典的方式去访问局部和全局变量 python里面用名字空间记录着变量 就像javascript的window一样 他记录着各种全局变量 每