在 Python 编程语言中,对象是指由类或类型创建的实例。每个对象都有自己的属性,这些属性可以是变量或函数。通常,我们需要打印对象的属性来了解它的状态。本文将介绍如何在 Python 中打印对象的属性。
1.使用dir()函数
dir()函数是 Python 中的一个内置函数,它可以返回一个对象的所有属性。该函数返回一个列表,其中包含对象的属性名称。
例如,我们定义了一个名为person的对象,它有两个属性,即name和age。我们可以使用dir()函数来打印这个对象的属性。
class Person:
name = ""
age = 0
person = Person()
person.name = "张三"
person.age = 18
print(dir(person))
输出结果为:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'age', 'name']
可以看到,输出结果包含person对象的所有属性名称。其中包括一些特殊属性,如__class__、delattr、__doc__等。但我们只需要关注我们定义的属性。
2.使用vars()函数
vars()函数是 Python 中的另一个内置函数,它可以返回一个对象的__dict__属性,该属性包含对象的所有属性。
例如,我们可以重用上个例子,使用vars()函数来打印person对象的属性。
class Person:
name = ""
age = 0
person = Person()
person.name = "张三"
person.age = 18
print(vars(person))
输出结果为:
{'name': '张三', 'age': 18}
可以看到,输出结果仅包含我们定义的属性。
注意事项:
1.当打印对象的属性时,应该注意对象是否已经被创建。如果对象不存在,那么它是没有属性的。
2.在使用dir()函数和vars()函数时,需要注意一些特殊属性。例如,dir()函数在返回属性列表时会包含一些特殊属性,如__class__、__delattr__等。因此,在使用这些函数时,我们应该注意区分特殊属性和我们定义的属性。
3.在打印对象的属性时,我们应该确保对象已经实例化。如果对象没有实例化,那么它是没有属性的。
结论
本文介绍了如何在 Python 中打印对象的属性。我们可以使用dir()函数或vars()函数来查看对象的属性。其中,dir()函数返回一个属性列表,包含特殊属性和我们定义的属性,而vars()函数仅返回我们定义的属性。在使用这些函数时,我们应该注意对象是否已经实例化,以及特殊属性和我们定义的属性之间的区别。
转自:https://www.onmpw.com/p/1685516820773803567.html
标签:__,函数,person,Python,打印,对象,dir,属性 From: https://www.cnblogs.com/yuyanc/p/17599970.html