python中class 的一行式构造器

简介: 好处:避免类初始化时大量重复的赋值语句   用到了魔法__dict__   # 一行式构造器 class Test(): # 初始化 def __init__(self, a, b, c=2, d=3, e=4, f=5): self.

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

 

用到了魔法__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()

 

目录
相关文章
|
2月前
|
设计模式 开发者 Python
Python 类中引用其他类的实现详解
Python 类中引用其他类的实现详解
57 1
|
6月前
|
Java 索引 Python
深入理解 Python 类中的各种方法
在 Python 中,类不仅仅是对象的蓝图,它还提供了多种方法,使我们能够以更灵活和强大的方式编写代码。本文将详细介绍 Python 类中的各种方法,包括实例方法、类方法、静态方法、特殊方法等,并通过示例展示它们的用法和区别。
|
Python
python--抽象类,接口类
python--抽象类,接口类
|
7月前
|
Python
Python类(class)中self的理解
Python类(class)中self的理解
111 0
|
7月前
|
存储 设计模式 Python
Python中的类(Class)和对象(Object)
Python中的类(Class)和对象(Object)
90 0
|
Kotlin Python
Python(三十一)python类class继承与多态
Python是一门面向对象语言 面向对象的三大特征:封装、继承、多态 我们这里来看一下python 类的继承 通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。 一:类的继承 1 :继承语法 arduino 复制代码 class 派生类名(基类名) ... 通常我们定义的类没有指定继承对象都是继承自object类,另外,python是支持多继承的。 下边我们使用代码来演示一下python的继承: 我们定义一个person类,其中有name、age两个属性,getInfo方法,为父类。 我们定义一个school类,其中getSchoolInfo方法,为父类。 定义一
60 0
|
Java 程序员 索引
Python类的特殊成员方法
Python类的特殊成员方法
72 0
|
Serverless 数据安全/隐私保护 索引
Python Class 05-字符串
Python Class 05-字符串
|
算法 C++ Python
python 多态和 super 用法
python 多态和 super 用法
105 0
|
Python
python中类的构造方法
python中类的构造方法
139 0