首页 > 解决方案 > 如何在 Python 中将方法参数的类型设置为可变对象

问题描述

如何在 python 中使用可迭代的特定对象输入创建如下方法:

在 Java 中,我们可以像下面这样创建它:

abstract public ArrayList<Device> returnDevices(ArrayList<Object> Device){
   ...
}

在 python 中,我想创建一个模型,如下所示:

class OptionModel:
    def __init__(
            self,
            option: str = None,
    ) -> None:
        self.__option = option

    @property
    def option(self):
        return self.__option

    @option.setter
    def option(self, value):
        self.__option = value

在另一个类中,我想获得一个OptionModel对象列表,如下所示:

class Command:
    def __init__(
            self,
            options: List[OptionModel] = None,
    ) -> None:
        self.__options = options
    
    @property
    def options(self) -> List[OptionModel]:
        return self.__options

    @options.setter
    def options(self, value: List[OptionModel]):
        self.__options = value

当在Options _上进行 for 循环时,在我的 IDE 中获取 OptionModel:

    def print_summery(self):
        for option in self.options:
            print("  {}  {}\t\t{}".format(option.option, option.alias, option.brief))

标签: pythonpython-3.xtypesiterable

解决方案


推荐阅读