python day18

issubclass() 这个内置函数可以帮我们判断xxx类是否是yyy类型的子类

class Base:
    pass
class Foo(Base):
    pass
class Bar(Foo):
    pass
print(issubclass(Bar, Foo)) # True
print(issubclass(Foo, Bar)) # False
print(issubclass(Bar, Base)) # True

 

 isinstance()可以判断该对象是否是xxx家族体系中的(只能往上判断)

class Base:
    pass
class Foo(Base):
    pass
class Bar(Foo):
    pass
print(isinstance(Foo(), Foo)) # True
print(isinstance(Foo(), Base)) # True
print(isinstance(Foo(), Bar)) # False

 

 

 

关于反射, 其实⼀一共有4个函数:
1. hasattr(obj, str) 判断obj中是否包含str成员
2. getattr(obj,str) 从obj中获取str成员
3. setattr(obj, str, value) 把obj中的str成员设置成value. 注意. 这⾥里里的value可以是
值, 也可以是函数或者⽅方法
4. delattr(obj, str) 把obj中的str成员删除掉
注意, 以上操作都是在内存中进⾏行行的. 并不会影响你的源代码

 

posted @ 2018-11-12 15:33  全干  阅读(124)  评论(0编辑  收藏  举报