提供构造函数参数的混合。

ctorrepr的Python项目详细描述


ctorrepr

https://img.shields.io/pypi/v/ctorrepr.svghttps://img.shields.io/travis/astralblue/ctorrepr.svgDocumentation StatusUpdates

提供构造函数参数的混合。

使用量

要使用,只需从~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)

学分

这个包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。

历史记录

0.1.0(2017-07-31)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是否可以创建一个正则表达式来查找与模式不匹配的字符串?   使用“debugUnreturnedConnectionStackTraces”进行java调试连接丢失   java如何在openLDAP中禁用/启用用户帐户?   java无法从jsoup api获取某些类   java无法从APK提取XML文件   如何在linux命令行中替换多个文件中的字符串   java学生班。如何根据单位输入打印成绩?   java有没有办法将Struts配置为绑定null而不是空字符串?   python使用OpenCV[Java]检测简单几何形状   java文件。isFile()和文件。isDirectory()返回false   java Fetch有条件地加入hibernate,还是将实体设计更改为子实体上的条件Fetch?   java lombok@Data generated setter是否对成员对象(如映射)执行深度复制?   java如何使JLabel从下一行开始   java Gradle依赖解决了配置文件的问题