编写 Python POO.棉花糖或原生蟒蛇.这是创建类的最佳方式



在python上编程时,我发现了棉花糖。我总是在原生 python 上创建类。这个库(或其他(是创建基于 POO 的程序的最佳方式吗?

import datetime as dt
class User(object):
    def __init__(self, name, email):
        self.name = name
        self.email = email
        self.created_at = dt.datetime.now()
    def __repr__(self):
        return '<User(name={self.name!r})>'.format(self=self)

from marshmallow import Schema, fields
class UserSchema(Schema):
    name = fields.Str()
    email = fields.Email()
    created_at = fields.DateTime()

Marshmallow 在需要序列化/反序列化时很有用。这与OOP无关。

如果你喜欢属性的声明和类型化方式,你可能会对Python 3.7中引入的dataclasses功能感兴趣。

@dataclass
class InventoryItem:
    '''Class for keeping track of an item in inventory.'''
    name: str
    unit_price: float
    quantity_on_hand: int = 0
    def total_cost(self) -> float:
        return self.unit_price * self.quantity_on_hand

相关内容

  • 没有找到相关文章

最新更新