[英]How do I implement Duck Typing when typing function?
我有一个功能:
def optimize_image(image) -> BytesIO:
"""
Takes image and returns it's compressed version if necessary
"""
pass
我如何将输入和输出作为实现某些方法的对象(例如open() )而不是指定某些对象类型(如 BytesIO)?
我发现为此目的创建一个抽象类是最好的解决方案。 像这样的东西:
from abc import ABCMeta, abstractmethod
class Openable():
__metaclass__=ABCMeta
@abstractmethod
def open():
"""Open object"""
def optimize_image(image: Openable) -> Openable:
"""
Takes image and returns it's compressed version if necessary
"""
pass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.