python中如何获取对象信息
目录
一、获取对象类型
二、使用isinstance()函数
三、使用dir()函数
四、使用对象的__dict__属性(适用于大多数自定义对象)
五、使用文档字符串(__doc__属性)获取对象的文档信息
一、获取对象类型
使用type()函数:type()函数用于返回对象的类型。例如,对于一个整数对象,字符串对象或者自定义类的对象,都可以使用type()来获取其类型信息
a = 5b = "Hello"c = [1, 2, 3]print(type(a)) print(type(b)) print(type(c))
输出结果分别为<class 'int'>
、<class'string'>
、<class 'list'>
,可以清楚地看到每个对象所属的类型。
二、使用isinstance()函数
isinstance()
函数用于检查一个对象是否是一个特定类(或其子类)的实例。这在处理继承关系时非常有用,它可以判断一个对象是否符合某种类型的要求。
class Animal:passclass Dog(Animal):passmy_dog = Dog()print(isinstance(my_dog, Dog)) print(isinstance(my_dog, Animal))
输出结果都是True
,因为my_dog
是Dog
类的实例,同时Dog
类是Animal
类的子类,所以my_dog
也被认为是Animal
类的实例。
三、使用dir()函数
dir()
函数返回一个对象的所有属性和方法的名称列表。这个列表包括对象的内置属性、方法以及用户自定义的属性和方法
my_list = [1, 2, 3]print(dir(my_list))
输出结果会包含append
、count
、index
等列表的常见方法,以及一些特殊属性如__add__
、__len__
等。这对于探索一个对象的功能和内部结构非常有帮助。
四、使用对象的__dict__属性(适用于大多数自定义对象)
对于大多数自定义对象,__dict__属性是一个字典,它包含了对象的所有实例属性(不包括方法)及其对应的值
class Person:def __init__(self, name, age):self.name = nameself.age = agep = Person("Alice", 30)print(p.__dict__)
输出结果为{"name": "Alice", "age": 30}
,可以直观地看到对象p
的实例属性及其值。
五、使用文档字符串(__doc__属性)获取对象的文档信息
许多python对象(如函数,类等)都有文档字符串,储存在__doc__属性中。文档字符串用于描述对象的功能、参数、返回值等信息
def add_numbers(a, b):"""这个函数用于将两个数字相加。参数:a: 第一个数字。b: 第二个数字。返回值:a和b相加的结果。"""return a + bprint(add_numbers.__doc__)
输出结果为函数add_numbers
的文档字符串内容,通过这种方式可以方便地获取函数的功能描述等信息。