您的位置:首页 > 编程语言 > Python开发

python中class 的一行式构造器

2016-06-13 09:17 323 查看
好处:避免类初始化时大量重复的赋值语句

用到了魔法__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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: