可序列化模型/工厂模式的python包

objectfactor的Python项目详细描述


py对象工厂

Build Statuscodecov

object factory是一个python包,可以轻松实现用于对象创建和序列化的工厂设计模式

  • 类定义中固有的序列化模式
  • 用于加载任意类型的多个对象的一致接口
  • 将对象序列化为人类可读的json格式

示例

简单的形状示例:

importobjectfactory@objectfactory.Factory.register_classclassSquare(objectfactory.Serializable):side=objectfactory.Field()defget_area(self):returnself.side*self.side@objectfactory.Factory.register_classclassTriangle(objectfactory.Serializable):base=objectfactory.Field()height=objectfactory.Field()defget_area(self):return0.5*self.base*self.heightserialized_data=[{"_type":"Square","side":2.0},{"_type":"Triangle","base":1.75,"height":2.50},{"_type":"Square","side":1.5},]fordatainserialized_data:shape=objectfactory.Factory.create_object(data)print('class type: {}, shape area: {}'.format(type(shape),shape.get_area()))

输出:

class type: <class '__main__.Square'>, shape area: 4.0
class type: <class '__main__.Triangle'>, shape area: 2.1875
class type: <class '__main__.Square'>, shape area: 2.25

查看更多示例here

安装

使用pip进行安装

pip install objectfactory

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

推荐PyPI第三方库


热门话题
java为什么这一行是charg=(char)(br.read());被跳过?   java三重DES中的IV在哪里?   java Lombok注释不在Intellij idea下编译   java为什么我不能使用过滤器作为流中的最后一步   sqlite Java编译错误找不到符号方法next()   在Java中解析处理对int来说太大的数字   java摄像头不工作   java是“断言错误”好的做法?   java确定api请求是来自CURL还是POSTMAN?   JavaSpringMVC导航   java使单例模式代码更强大   当Java(解释器)区分大小写时,为什么Java编译器(javac)不区分大小写?   java注释字符串[]oneArr();vs字符串[][]twoArr();公告   java命名查询的利弊   java使用log4jweb在web应用程序中配置Log4j2。罐子   java正则表达式查找以开头和结尾的所有可能出现的文本~   java从字符串执行方法