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

本文共 592 字,大约阅读时间需要 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://www.cnblogs.com/hhh5460/p/5579478.html
,如需转载请自行联系原作者
你可能感兴趣的文章
Java 底层机制(JVM/堆/栈/方法区/GC/类加载)
查看>>
原 在windows上创建文件名以“.”开头的文件
查看>>
实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣
查看>>
e297: write error in swap file
查看>>
并发错误:事务(进程 ID )与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品...
查看>>
如何获取用户的地理位置-浏览器地理位置(Geolocation)API 简介
查看>>
如何在Solr中实现多core查询
查看>>
Ubuntu下搭建Hyperledger Fabric v1.0环境
查看>>
EventBus 3.0使用详解
查看>>
Linux curl 一例
查看>>
重写自己,减少判断 ---- 引发的思考
查看>>
【docker】【redis】1.docker安装redis【单点redis服务】
查看>>
Oracle数据库导入导出 imp/exp备份还原
查看>>
react-native-storage + AsyncStorage 实现数据存储
查看>>
Cobaltstrike、armitage联动
查看>>
pandas set_index和reset_index的用法
查看>>
[Bash] View Files and Folders in Bash
查看>>
PEACHPIE 0.9.11 版本发布,可以上生产了
查看>>
异常检测——局部异常因子(Local Outlier Factor ,LOF)算法
查看>>
记录一次广州白云区项目数据库连接失败问题的解决过程
查看>>