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

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

对象相关的内置函数

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

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

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用于判断两个类之间的继承关系。

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

相关文章
|
6天前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
155 99
|
6天前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
139 98
|
10天前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
8天前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
39 4
|
29天前
|
Python
Python 函数定义
Python 函数定义
97 1
|
18天前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
87 0
|
1月前
|
数据挖掘 数据处理 C++
Python Lambda:从入门到实战的轻量级函数指南
本文通过10个典型场景,详解Python中Lambda匿名函数的用法。Lambda适用于数据处理、排序、条件筛选、事件绑定等简洁逻辑,能提升代码简洁性和开发效率。同时提醒避免在复杂逻辑中过度使用。掌握Lambda,助你写出更高效的Python代码。
116 0
|
算法 Python 容器
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
208 0
|
12月前
|
算法 Python
Python编程的函数—内置函数
Python编程的函数—内置函数
100 0
|
算法 Python
Python编程实验四:函数的使用
Python编程实验四:函数的使用
208 0

推荐镜像

更多