快速将argparse的参数倒入到类中的__dict__
话说好久没有写博客了,是时候写起来了!
argparse的参数在使用parse_args()后保存在了Namespace()中了,我们可以通过vars()来将其中的属性以键值对的字典形式返回
如下所示:
import argparseargs = argparse.Namespace()
args.arg1 = 1
args.arg2 = ['d']
args.arg3 = {'e':6}
print(args)
print(vars(args))
结果如下:
#Namespace(arg1=1, arg2=['d'], arg3={'e': 6})
#{'arg1': 1, 'arg2': ['d'], 'arg3': {'e': 6}}
如果参数多的时候,我们可以考虑将这些参数一次性都导入到一个类的__dict__属性中,如下所示:
class Args():def __init__(self):self.__dict__.update(vars(args))print(self.__dict__)#实例化类
args = Args()
#打印的输出
{'arg1': 1, 'arg2': ['d'], 'arg3': {'e': 6}}
这个时候我们就需要了解一下这个__dict__属性了
class A:a = 1def __init__(self):self.a = 2#查看该class的__dict__和实例的__dict__a_class = A()
print(a_class.__dict__)
print(A.__dict__)
结果如下:
#实例的dict
{'a': 2}
#类的__dict__
{'__module__': '__main__', 'a': 1, '__init__': <function A.__init__ at 0x031810C0>, '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None}
可以看到实例的dict中用的是self.a,而类的属性里面的a的值是1,这也说明了__init__()是在实例化的时候执行的,在执行的时候,a的值变成了2。
综上,我们可以通过一次性将args倒入到类中的__dict__属性中来实现快速添加参数的方式。
快速将argparse的参数倒入到类中的__dict__相关推荐
- 第8.12节 Python类中使用__dict__定义实例变量和方法
上节介绍了使用实例的__dict__查看实例的自定义属性,其实还可以直接使用__dict__定义实例变量和实例方法. 一. 使用__dict__定义实例变量 语法: 对象名. dict[属性名] = ...
- java string.substring 参数,Java,String类中的subString()方法,stringsubstring
Java,String类中的subString()方法,stringsubstring public class TestStringSubString { // main函数 public stat ...
- python类中的__dict__
直接上代码: class Person(object): name = 'python' age = 18 def __init__(self): self.sex = 'boy' self.like ...
- springboot 在配置文件写参数注入到类中
@Configuration//配置文件位置@PropertySource("classpath:city.properties")//前缀@ConfigurationProper ...
- Python类中的__dict__属性
__dict__属性是一个字典(dict),它包含了该对象所有的属性. 下面用pytorch中的torchvision.models作比喻: [input]:import torchvision.mo ...
- Java类中this关键字和static关键字的用法详解
今天给大家总结介绍一下Java类中this关键字和static关键字的用法. 文章目录 this关键字用法: 1:修饰属性,表示调用类中的成员变量 2:this修饰方法 3:this表示当前对象的引用 ...
- php tp3 操作绑定到类,快速入门 17:操作绑定到类
# 快速入门(十七):操作绑定到类 如果你的应用规模比较大,每个操作方法彼此相对独立,那么就可以尝试下操作绑定到类的功能. ## 定义 系统提供了把每个操作方法定位到一个类的功能,可以让你的开发工作更 ...
- 如何定义带有可选参数的函数python_Python如何定义有可选参数的元类
问题 你想定义一个元类,允许类定义时提供可选参数,这样可以控制或配置类型的创建过程. 解决方案 在定义类的时候,Python允许我们使用 ``metaclass``关键字参数来指定特定的元类. 例如使 ...
- python命令行参数解析OptionParser类用法实例
python命令行参数解析OptionParser类用法实例 本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考. 具体代码如下: from opt ...
最新文章
- js-ES6学习笔记-Iterator和for-of循环
- SQL查询语句大全集锦(一)
- Mysql 获取当月和上个月第一天和最后一天的解决方案
- JZOJ 3947 . 【省常中JSOI模拟】收历史作业
- nodejs和python和php_PHP和Nodejs能配合使用吗?
- c语言 指针 a= amp b,c语言初学-引用和指针的异同点
- Iris recognition papers in the top journals in 2017
- 多重选定怎么撤销_多重网络问题怎么解决?如何取消多重网络?
- sql 联合_SQL联合,SQL联合全部
- 周末献礼 MyVoix2.0.js 麦克风波形绘制(一)
- oracle 错误代码问题处理经验汇总
- 新观察:企业将全面上云 披露“云计算支出”会是新常态
- 商品详情页中特别注意的三件事
- 梦幻星空html,HTML5特效展示,梦幻星空
- Jenkins自动构建部署项目
- mapping 映射的简单操作
- MATLAB矩阵行列
- ABB机器人基础培训资料整理与总结
- 【bzoj1003】[ZJOI2006]物流运输trans 最短路+dp
- mumu模拟器安装好xposed后重启到99%不动
热门文章
- 分位数回归(Quantile Regression)代码解析
- 408计算机组成原理有哪几题,2019考研408计算机组成原理选择题及答案(3)
- jquey javascript 绑定点击事件(click事件无反应,因js获取不到当前的点击项)
- 原创小说 - 范特西学院(上)
- 数学分析 曲面积分与场论初步(第22章)
- PS 学习笔记 18-加深工具组
- GoDaddy 推出第四代虚拟主机
- 清除盗游戏帐号的密西木马变种(Trojan.PSW.Misc.r)等
- Linux热补丁的实现
- linux下man手册汉化后,英文man手册被覆盖的解决办法