Python面向对象--对象相关的内置函数
对象相关的内置函数
1.is:判断两个对象知否指向同一块内存地址
obj is obj:判断两个obj是否是指向同一块内类地址(用来比较两个对象的内存地址,看这两个对象是否是同一个对象。)
返回bool类型值
1 class Person(object):
2 def __init__(self, name, age):
3 self.name = name
4 self.age = age
5
6
7 p1 = Person('张三', 18)
8 p2 = Person('张三', 18)
9 p3 = p1
10
11 print(p1 is p2) # >> False
12 print(p1 is p3) # >> True
2.isinstance:判断对象和类之间的关系
isinstance(obj,类):判断obj是不是类的对象,或者判断obj是不是该类子类的对象
返回bool类型值
1 class Person:
2 def __init__(self, name, age):
3 self.name = name
4 self.age = age
5
6
7 class Student(Person):
8 def __init__(self, name, age, score):
9 super(Student, self).__init__(name, age)
10 self.score = score
11
12
13 class Dog:
14 def __init__(self, name, color):
15 self.name = name
16 self.color = color
17
18
19 p = Person('tony', 18)
20 s = Student('jack', 20, 90)
21 d = Dog('旺财', '白色')
22
23 print(isinstance(p, Person)) # >> True 对象p是由Person类创建出来的
24 print(isinstance(s, Person)) # >> True 对象s是有Person类的子类创建出来的
25 print(isinstance(d, Person)) # >> False 对象d和Person类没有关系
3.issublcass:判断类与类之间的关系
issubclass 用来判断两个类之间的继承关系。
返回值bool类型值
1 class Person:
2 def __init__(self, name, age):
3 self.name = name
4 self.age = age
5
6
7 class Student(Person):
8 def __init__(self, name, age, score):
9 super(Student, self).__init__(name, age)
10 self.score = score
11
12
13 class Dog:
14 def __init__(self, name, color):
15 self.name = name
16 self.color = color
17
18
19 print(issubclass(Student, Person)) # True
20 print(issubclass(Dog, Person)) # False
作者:Ambitious
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!