• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python中使用动态变量名的方法

Python中使用动态变量名的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 动态变量名,python动态变量,python 变量名,python 获取变量名,python中变量名等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

如果要写一个程序,让x1为1,x2为2,然后直到x100为100,你会怎么做?

在C这种静态语言里,变量名这个标识符实际上会被编译器直接翻译成内存地址,所以除了手动设置每个变量的值以外,没办法做到这点。而Python这种动态语言则是可以做到的。

最容易想到的自然是eval,但是实际上根本不需要这种危险的东西,因为Python的变量名就是一个字典的key而已。要获取这个字典,直接用locals和globals函数即可。

因此这个程序可以这样实现:

不过你也许会说这个例子没什么用,毕竟用数组来实现更为实用。

那么再考虑一个例子:服务器使用一种对象数据库,可以直接保存对象到数据库中。服务器列出目前支持的所有类,而用户想添加一个不存在于列表中的类,于是向服务器发送一段JSON或XML文本。服务器解析这段文本,将它转换成一个class对象,并且设置类名。之后用户就可以随意生成这个类的对象。
关键是这个数据库和类名相关,你不能用一个通用的Object类来保存所有的对象,否则查询时就乱套了。
而恰巧的是,还就有人在GAE论坛上提出了这个需求,而只会Java的他最终只能放弃。

当然,你想用来恶搞也行:

另一个用处就是测试一个变量名是否已经存在。标准的做法是try...except一个NameError异常,实际上直接用in locals()或in globals()就能判断了。
顺便再介绍另一种奇怪的方法,不知道有人这样写过没:

当然,没有任何人推荐你这样写,我也不会。

最后,除了动态设置变量名,动态删除也是可以的,例如del locals()['x1']。同样,delattr也是可用的。

</div>

您可能想查找下面的文章:

  • Python中使用动态变量名的方法
  • Python中使用动态变量名的方法

相关文章

  • 用Python编写简单的定时器的方法
  • Python画图学习入门教程
  • 详细介绍Python的鸭子类型
  • 在Python中使用mongoengine操作MongoDB教程
  • Python常用的日期时间处理方法示例
  • Python遍历zip文件输出名称时出现乱码问题的解决方法
  • 用Python实现命令行闹钟脚本实例
  • 在Python的Django框架中创建和使用模版
  • Python爬虫框架Scrapy实战之批量抓取招聘信息
  • 用Python解析XML的几种常见方法的介绍

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python计算最大优先级队列实例
    • python抓取网页中的图片示例
    • Python判断直线和矩形是否相交的方法
    • 在Python中用has_key()方法查找键是否存在的教程
    • python中的lambda表达式用法详解
    • Python使用面向对象方式创建线程实现12306售票系统
    • 使用IPython来操作Docker容器的入门指引
    • Django中对通过测试的用户进行限制访问的方法
    • centos 下面安装python2.7 +pip +mysqld
    • python使用正则搜索字符串或文件中的浮点数代码实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有