python中检测类和对象

简介: python中检测类和对象

一、issubclass函数



用来检测一个类是否是另一个 类的子类。应用说明:一旦检测到一个类是另一个类的子类后,实际上就可以调用父类中所有的方法和属性。举例:issubclass(Teacher,Person)说明:第一个参数是子类的类名,第二个参数是父类的类名这个函数第一个参数的类名是第二个参数的 类名的子类,那么结果返回true,否则返回false


二、使用魔法属性检测父类



通过类名的魔法属性__bases__

使用魔法属性输出后的格式是这样的:(<class '__main__.Person'>,)


三、检测对象



使用isinstance函数,它有两个参数,第一参数是某个对象,第二个参数是某个类的类名。结果返回第一个参数的对象是否是第二个参数的类名实例化而来的。如果确实是实例化的对象就返回true,否则返回false。这里要注意:第一个参数的实例对象如果它的类有父级继承关系,那么第二个参数中的类名如果是父类的类名,结果也会返回true。

举例如下:

isinstance(teach,Person)


四、总结强调



1.掌握issubclass函数检测一个子类是否是父类的子类。

2.掌握__base__魔法属性来查看所继承的父类

3.掌握isinstance函数检测一个对象是否是另一个类实例化而来的对象。


本节源代码:

class Person:
    def setAge(self,age):
        self.age=age
    def getAge(self):
        return self.age
    def sayHello(self):
        print("hello,老刘")
class Teacher(Person):
    def setMajor(self,major):
        self.major=major
    def getMajor(self):
        return self.major
class Student:
    def sayWhat(self):
        print("我是学生类")
print("检测一个类是否是另一个类的子类",issubclass(Teacher,Person))
print("使用魔法方法查父类",Teacher.__bases__)
#检测类的对象是否是某个类实例化而来的
teach=Teacher()
stu=Student()
print(isinstance(teach,Person))
相关文章
|
25天前
|
机器学习/深度学习 数据采集 算法
时间序列结构变化分析:Python实现时间序列变化点检测
在时间序列分析和预测中,准确检测结构变化至关重要。新出现的分布模式往往会导致历史数据失去代表性,进而影响基于这些数据训练的模型的有效性。
42 1
|
6天前
|
Docker Python 容器
python检测docker compose文件是否正确
python检测docker compose文件是否正确
|
4天前
|
前端开发 Python
Python编程的面向对象(二)—类的多态
Python编程的面向对象(二)—类的多态
12 7
|
3天前
|
IDE Java 开发工具
Python类与面向对象
Python类与面向对象
|
6天前
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
22 5
|
6天前
|
编解码 Python Windows
python有没有包 可以检测 这个视频是否可以播放
python有没有包 可以检测 这个视频是否可以播放
|
7天前
|
测试技术 数据库 开发者
Python作为一种谦逊的编程语言:对象自省机制的探讨
Python的自省机制是该语言的一个强大特性,为开发者提供了深入了解和操作对象的能力。它增强了Python的灵活性,使得开发者可以更加精准地控制程序的行为。然而,合理利用自省能力,避免其成为代码复杂性的来源,是每个Python开发者需要考虑的问题。通过熟练运用Python提供的自省工具和技巧,可以更好地设计和实现高效、易维护的Python应用。
13 2
|
7天前
|
关系型数据库 MySQL Python
mysql之python客户端封装类
mysql之python客户端封装类
|
8天前
|
Python
python 类中的内置方法
python 类中的内置方法
|
6天前
|
机器学习/深度学习 Python
9-3|使用Python的scikit-learn库来训练一个逻辑回归模型,检测句子是否含有侮辱性内容:
9-3|使用Python的scikit-learn库来训练一个逻辑回归模型,检测句子是否含有侮辱性内容:
下一篇
无影云桌面