我有一个模型(我将其用作抽象基类),它具有一些常见的方法和属性。
SQLAlchemy 允许使用 和 创建属性和方法,@hybrid_property而且@hybrid_method标准@property, @classmethod,@staticmethod装饰器也可以给我我想要的结果。
与标准 python 装饰器相比,使用 SQLA 装饰器有什么优点和缺点?
我什么时候应该使用或不应该使用 SQLA 装饰器?
是否有使用 attrs 转换器的装饰器?
有validator和的装饰器default,但我看不到任何提到的converter。
是否可以?
我更喜欢将该函数作为类内的“方法”,而不是类外的全局函数。装饰器允许这样做:)
验证器的示例片段。
payload : bytes = attr.ib( default=b'', on_setattr=attr.setters.validate )
#! NOTE: using attrs validator as a property setter function.
@payload.validator
def payload_setter( self, attribute : attr.Attribute, value : bytes ) -> None :
self.payload_length = len( value )
Run Code Online (Sandbox Code Playgroud)
我想使用转换器做类似的事情。将某些输入字节修剪到上限的示例。
data : bytes = attr.ib( default=b'', on_setattr=attr.setters.converter )
#! NOTE: using attrs converter as a property setter function.
@data.converter
def data_setter( self, attribute : attr.Attribute, value : bytes ) …Run Code Online (Sandbox Code Playgroud) 我有一台可以提供拜耳 RG8 格式图像的相机。
我正在使用 skimage 处理图像,但我找不到将 Bayer RG8 格式转换为标准 RGB(以在屏幕上显示)的方法。
有什么办法可以用 skimage 做到这一点吗?
我确实找到了 opencv 转换的参考,但我试图避免在我的应用程序中包含 opencv (除非绝对必要)。