在使用 Python 编程时,我发现了棉花糖。我总是在 native 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 无关。
如果您喜欢属性的声明和键入方式,您可能会对 dataclasses 感兴趣。 Python 3.7 中引入的功能。
@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
关于python - 编写 Python POO。棉花糖或原生 Python。创建类的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54559971/