提供构造函数参数的混合。
ctorrepr的Python项目详细描述
ctorrepr
提供构造函数参数的混合。
- 自由软件:麻省理工学院许可证
- 文档:https://ctorrepr.readthedocs.io。
使用量
要使用,只需从~ctorrepr.ctorrepr继承,然后实现 < cTrRePr.cTrReR.Pr.ExpRePrgARGSH()/cTIT>以匹配您的现有 __init__()方法:
>>> from ctorrepr import CtorRepr >>> class X(CtorRepr): ... def __init__(self, x1='x1', x2='x2', *poargs, **kwargs): ... super().__init__(*poargs, **kwargs) ... self.x1 = x1 ... self.x2 = x2 ... def _collect_repr_args(self, poargs, kwargs): ... super()._collect_repr_args(poargs, kwargs) ... poargs[:0] = self.x1, self.x2 >>> class Y(CtorRepr): ... def __init__(self, *y, **kwargs): ... super().__init__(**kwargs) ... self.y = y # completely consumes positional args ... def _collect_repr_args(self, poargs, kwargs): ... super()._collect_repr_args(poargs, kwargs) ... poargs[:0] = self.y >>> class Z(CtorRepr): ... def __init__(self, *poargs, zk='zk', **kwargs): ... super().__init__(*poargs, **kwargs) ... self.zk = zk ... def _collect_repr_args(self, poargs, kwargs): ... super()._collect_repr_args(poargs, kwargs) ... kwargs.update(zk=self.zk) >>> class W(X, Y, Z): ... def __str__(self): ... return repr(self) >>> print(' '.join(t.__name__ for t in W.mro())) W X Y Z CtorRepr object >>> print(W()) W('x1', 'x2', zk='zk') >>> print(W(24)) W(24, 'x2', zk='zk') >>> w = W(24, 25, 'y1', 'y2') >>> w.y ('y1', 'y2') >>> print(w) W(24, 25, 'y1', 'y2', zk='zk') >>> print(W(zk=100)) W('x1', 'x2', zk=100)
学分
这个包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
历史记录
0.1.0(2017-07-31)
- pypi上的第一个版本。