一、概念
Python的自省是指在运行时检查对象的类型和属性的能力,从而实现更灵活和可扩展的代码。
Python提供了一些内置函数和方法来实现自省,例如:
1. type()函数:用于获取对象的类型。
2. hasattr()函数:用于检查对象是否具有指定的属性或方法。
3. getattr()函数:用于获取对象的属性或方法的值。
4. setattr()函数:用于设置对象的属性或方法的值。
5. delattr()函数:用于删除对象的属性或方法。
6.dir()函数:用于列出对象的所有属性和方法。
7. isinstance()函数:用于检查对象是否是指定类的实例。
8. issubclass()函数:用于检查一个类是否是另一个类的子类。
9. getmembers()函数:用于获取一个对象的所有成员(包括方法和属性)。
二、为啥叫自省?
自省(Introspection)一词源于希腊语“intropeks”,意为“向内看”。在哲学和心理学领域,自省是指对自己的思想、感受、行为和经验进行反思和观察的过程。通过自省,人们可以更好地了解自己的内心世界,发现自己的优点和缺点,并寻找改进的方向。在编程领域,自省也指对对象的属性和方法进行动态检查和操作的能力。