对象相关的内置函数 | 手把手教你入门Python之六十六

上一篇:Python2和Python3的区别 | 手把手教你入门Python之六十五
下一篇:多态的使用 | 手把手教你入门Python之六十七

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

对象相关的内置函数

Python中的身份运算符⽤来判断两个对象是否相等;isinstance⽤来判断对象和类之间的关系;issubclass⽤来判断类与类之间的关系。

身份运算符

身份运算符⽤来⽐较两个对象的内存地址,看这两个对象是否是同⼀个对象。

class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age


p1 = Person('张三', 18)
p2 = Person('张三', 18)
p3 = p1

print(p1 is p2) # False
print(p1 is p3) # True

isinstance

instance内置函数,⽤来判断⼀个实例对象是否是由某⼀个类(或者它的⼦类)实例化创建出来的。

class Person(object):
    def __init__(self, name, age):
        self.name = name
    self.age = age


class Student(Person):
    def __init__(self, name, age, score):
        super(Student, self).__init__(name, age)
        self.score = score


class Dog(object):
    def __init__(self, name, color):
        self.name = name
        self.color = color


p = Person('tony', 18)
s = Student('jack', 20, 90)
d = Dog('旺财', '⽩⾊')


print(isinstance(p, Person)) # True.对象p是由Person类创建出来的
print(isinstance(s, Person)) # True.对象s是有Person类的⼦类创建出来的
print(isinstance(d, Person)) # False.对象d和Person类没有关系

issubclass

issubclass ⽤来判断两个类之间的继承关系。

class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age


class Student(Person):
    def __init__(self, name, age, score):
        super(Student, self).__init__(name, age)
        self.score = score


class Dog(object):
    def __init__(self, name, color):
        self.name = name
        self.color = color

        
print(issubclass(Student, Person)) # True
print(issubclass(Dog, Person)) # False

配套视频

上一篇:ECS使用初体验


下一篇:Oracle运行JOB报ORA-27492:无法运行作业