前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【从零学习python 】49. Python中对象相关的内置函数及其用法

【从零学习python 】49. Python中对象相关的内置函数及其用法

作者头像
全栈若城
发布2024-02-29 17:21:07
460
发布2024-02-29 17:21:07
举报
文章被收录于专栏:若城技术专栏若城技术专栏

对象相关的内置函数

Python中有几个内置函数与对象相关,分别是身份运算符、isinstance和issubclass。

身份运算符

身份运算符用于比较两个对象的内存地址,以判断它们是否是同一个对象。

代码语言:javascript
复制
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

isinstance是一个内置函数,用于判断一个实例对象是否由某个类(或其子类)实例化创建。

代码语言:javascript
复制
class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Student(Person):
    def __init__(self, name, age, score):
        super().__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用于判断两个类之间的继承关系。

代码语言:javascript
复制
class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Student(Person):
    def __init__(self, name, age, score):
        super().__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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对象相关的内置函数
  • 身份运算符
  • isinstance
  • issubclass
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档