使用isinstance 和 type的区别

198 阅读1分钟
# 使用isinstance 和 type的区别
# i = 1
# s = 'ellen'
# print(isinstance(1,int))
# print(isinstance(s,int))
# print(isinstance(s,str))
# print(type(i))
# if isinstance(i,int):  
  #  返回123# if type(i) == 'int':  
 # 不会打印# print(123)
# class A:
#     pass#
# class B(A):
#     pass
# b = B()
# print(isinstance(b,B))      
# True# print(isinstance(b,A))      
# True  考虑类的继承关系## print(type(b) is B)          
# True# print(type(b) is A)         
 # False 没有考虑类的继承关系
# == value 是数值# is 是内存地址# 区别class A:    
# 类属性    aa = 1    # 实例方法    def __init__(self, x, y):        
# 实例属性        self.x = x        self.y = y      
 # self.aa = 22   # 在外部定义
a.aa = 22 相当于在内部方法添加了实例属性
a = A(1, 2)# print(a.x, a.y, a.aa)  
 # 可以向上查找# print(A.x)  
 # 报错  不能向下查找print(A(1,2).x) 
 # 1 可以查找A.aa = 11a.aa = 22print(a.aa)  
 # 22print(A.aa)   # 11b = A(1,2)print(b.aa)     
# 11