类似scala的python案例类
case_class的Python项目详细描述
python 2+3的零依赖scala类case类。
功能
- 简单用法:从case_class.CaseClass 继承
- 简单安装:零依赖性
- 继承性很好
- CaseClass和abstractcaseclass`可混合使用
- 默认情况下禁止逐个继承
- 使用AbstractCaseClass只允许实例化子类
- 使用InheritableCaseClass重写allow super和 要实例化的子类。`
- 也可以很好地处理多重继承 *super()调用仍按预期工作
- 基于参数的相等性
- 每个参数组合只调用构造函数一次
- 使用==运算符和is(引用相等)运算符。
- 自动repr()函数
- 在Python2和Python3中都有效!
安装
此包发布在 Python Package Index 安装只需通过pip:
pip install case_class
或者,克隆此存储库并运行setup.py:
git clone https://github.com/tkw1536/PythonCaseClass python setup.py install
示例
# Import the CaseClass modulefromcase_classimportCaseClass# Create a symbol case classclassSymbol(CaseClass):def__init__(self,name):self.name=name# Create an instancex=Symbol("x")print(x)# Symbol('x')# And create another onealso_x=Symbol('x')print(x==also_x)# equality via operatorprint(xisalso_x)# referential equality
另一个例子可以在example.py中找到。
许可证+确认
本模块及相关文档版权所有(C)Tom Wiesing 2016 并根据麻省理工学院的许可证获得许可,详情请参见license。小的 部分代码改编自six 模块,版权所有(c)2010-2015 Benjamin Peterson。