代码之家  ›  专栏  ›  技术社区  ›  srbcheema1 Feu

检查对象是否具有python3中给定命名空间的类型

  •  0
  • srbcheema1 Feu  · 技术社区  · 6 年前

    我有一个名称空间say Hello(说一个名为Hello的类,其中包含一些类,如World和其他类)

    我想检查变量x是否具有属于命名空间/类的类型 Hello 对命名空间/类中的所有类型都有效的检查

    a = Hello.World()  # creating an object of Hello.World
    b = Hello.World.A()
    c = Hello()
    d = Hello.People()
    

    我想要一个适用于所有这些物体的条件。

    def belongs_hello(obj)
       if type(obj) belongs to Hello:
            return True
       else:
            return False
    
    belongs_hello(a) # True
    belongs_hello(b) # True
    belongs_hello(1) # False
    

    我真正想做的是:

    def __init__(self,inp):
        if type(inp) is str:
            self.soup = self.get_soup(inp) # extract soup if url is given
        elif type(inp) is_some_decendant_of BeautifulSoup:
            self.soup = inp
        else:
            raise Exception('requires string(url) or element of beautifulsoup as argument')
    

    is_some_decendent

    0 回复  |  直到 6 年前
    推荐文章