博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中class 的一行式构造器
阅读量:6695 次
发布时间:2019-06-25

本文共 515 字,大约阅读时间需要 1 分钟。

好处:避免类初始化时大量重复的赋值语句

 

用到了魔法__dict__

 

# 一行式构造器class Test():    # 初始化    def __init__(self, a, b, c=2, d=3, e=4, f=5):        self.__dict__.update({k:v for k,v in locals().items() if k != 'self'})        # 设置    def set_option(self, *args, **kwargs):        self.__dict__.update(dict(zip('abcdef'[:len(args)], args))) # args 必须按__init__的顺序!        self.__dict__.update(kwargs)            # 别的方法    def show(self):        print(self.__dict__)        t = Test(0, 1)t.show()t.set_option(100, 99, 98, 97, f=96, e=95)t.show()

 

转载地址:http://dxjoo.baihongyu.com/

你可能感兴趣的文章
linux下vim命令具体解释
查看>>
Java基础(四):Java Number & Math 类、Character 类、String 类、StringBuffer & StringBuilder 类...
查看>>
CLH队列锁
查看>>
不受控制的 position:fixed
查看>>
Light OJ 1406 Assassin`s Creed 状态压缩DP+强连通缩点+最小路径覆盖
查看>>
精简版—愤慨的小鸟
查看>>
一键部署Moodle开源课程管理系统
查看>>
SQL Server 数据库引擎怎样记录完整备份后修改过的数据
查看>>
[C#] .NET Core项目修改project.json来引用其他目录下的源码等文件的办法 & 解决多框架时 project.json 与 app.config冲突的问题...
查看>>
plsql developer ini
查看>>
centos7 安装php7
查看>>
使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。
查看>>
Docker中安装WordPress
查看>>
oracle goldengate的两种用法
查看>>
Racket里的方括号
查看>>
【强化学习】用pandas 与 numpy 分别实现 q-learning, saras, saras(lambda)算法
查看>>
C#后台解析 json 动态解析 通用(Dictionary)
查看>>
使用UrlRewriter进行Url重写的完整解决方案[转]
查看>>
在代码里访问HTC Diamond的倾斜传感器
查看>>
tcp和udp能否发送0字节的数据包
查看>>