【发布时间】:2018-11-12 18:19:29
【问题描述】:
使用 attrs,我如何指定不是类属性的 init 参数。
例如CRC8 对象可能会在构造函数中传递一些字节或字节数组,但我不想存储该输入,只需计算 CRC 并存储结果。
此模式是否是适合使用类方法的示例(如此链接中所述)?
【问题讨论】:
标签: python-attrs
使用 attrs,我如何指定不是类属性的 init 参数。
例如CRC8 对象可能会在构造函数中传递一些字节或字节数组,但我不想存储该输入,只需计算 CRC 并存储结果。
此模式是否是适合使用类方法的示例(如此链接中所述)?
【问题讨论】:
标签: python-attrs
你想要的是一个类方法工厂:
@attr.s
class CRC8:
checksum = attr.ib()
@classmethod
def from_bytes(cls, bytes):
# compute your CRC
# checksum = ...
return cls(checksum)
这使您可以进行适当的制衡。
在这种情况下,我想知道一个函数是否不起作用?类似于标准库的binascii.crc32()。
【讨论】: