内置函数拾遗

isinstance(对象,类)  判断这个对象是不是这个类或者这个类的子类的实例化
issubclass(子类,类) 判断一个类是否是另一个类的子类

vars 看一个类涉及什么变量
# isinstance
# from collections import Iterable
# print(isinstance([],Iterable))  # 判断是否可迭代 返回True 或者 Flase

# isinstance
#isinstance(对象,类)  判断这个对象是不是这个类或者这个类的子类的实例化
# 判断a 属不属于A这个类(可以判断到祖宗类)
# 任何与object都是 True
class A:pass
class B(A):pass
a = A()  # 实例化
b = B()
print(isinstance(b,A))  #  True
# a 为对象  A 类

class A:pass
a = A()  # 实例化
print(isinstance(a,object))  #  True

# issubclass
# issubclass(子类,类) 判断一个类是否是另一个类的子类
class A:pass
class B(A):pass
print(issubclass(B,A))  # 说明B是A的子类  True
print(issubclass(A,B))    #  False

#isinstance(对象,类)  判断这个对象是不是这个类或者这个类的子类的实例化
# issubclass(子类,类) 判断一个类是否是另一个类的子类


# vars  看一个类涉及什么变量
#看全局
a = 1
b = 2
print(vars())  # 打印出来带key
print(dir())  # val


# __doc__  显示注释内容

class A:
    c = 1
    d = 2
    def func(self):
        self.name = 'alex'

# 看类
print(vars(A))  # vars 看一个类涉及什么变量
# {'__module__': '__main__', 'c': 1, 'd': 2,
# 'func': <function A.func at 0x00000000025188C8>, '__dict__': <attribute '__dict__' of
a = A()
a.func()
print(vars(a))
#{'__module__': '__main__', 'c': 1, 'd': 2,
# 'func': <function A.func at 0x00000000025188C8>, '__dict__': <attribute '__dict__' of

# 看对象
print(vars(a))  # {'name': 'alex'}