首页 > 解决方案 > 不同孩子的多重继承

问题描述

我正在尝试基于环境变量实现多重继承,以获得我正在开发的自动化框架以支持 iOS 和 Android。目前这就是我所拥有的:

class List(
    iOSList
    if os.environ['platform'] == "ios"
    else AndroidList
):
    @property
    def get_name(self):
        return super(List, self).get_name


class iOSList(iOSObject):
    @property
    def get_name(self):
        return "iOS"


class AndroidList(AndroidObject):
    @property
    def get_name(self):
        return "Android"
# returns either "Android" or "iOS" depending on the environment variable $platform
List().get_name

这很好用,但我唯一的抱怨是 IntelliJ 无法识别来自父级(iOSList 或 AndroidList)的任何方法。有没有另一种方法可以让这个继承工作,以便 PyCharm IntelliJ 可以识别它的父方法?

标签: python-2.7parent-childmultiple-inheritance

解决方案


推荐阅读