Python打印类的属性
一、使用__dict__
打印类的属性
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Tom", 18)
print(person.__dict__)
使用__dict__
方法可以直接打印出类的属性及其对应的值。上述代码中,我们首先定义了一个Person类,该类有两个属性name和age。然后我们通过实例化一个Person对象,并将其传递给print函数的__dict__
方法,最终输出了类的属性和其对应的值。
虽然该方法简单方便,但是它只能输出实例化对象的属性,并不能输出类的属性。
二、使用vars方法打印类的属性
class Person:
name = "default"
age = 0
print(vars(Person))
在上面的代码中使用vars方法可以打印类的属性,vars方法跟__dict__
方法类似,可以帮助我们获取类的属性和其对应的值。在此示例代码中,我们定义了一个Person类,该类有两个属性name和age,并通过vars方法打印该类的属性和其对应的值。
需要注意的是,vars方法只能打印类中定义的属性,而不能打印实例化对象的属性。
三、使用dir方法打印类的属性
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Tom", 18)
print(dir(person))
使用dir方法可以打印出实例化对象的所有属性、方法以及内置属性等。在此示例代码中,我们定义了一个Person类,该类有两个属性name和age,并实例化一个Person对象。在print语句中我们使用dir方法打印该对象的属性和方法。
需要注意的是,dir方法会输出实例化对象的所有内置属性和方法,包括一些我们不需要的属性和方法,因此需要筛选出需要的信息。
四、使用inspect模块打印类的属性
import inspect
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
#小编创建了一个Python学习交流群:531509025
person = Person("Tom", 18)
print(inspect.getmembers(person))
最后一个方法是使用Python标准库中的inspect模块来打印类的属性和方法。在此示例代码中,我们首先导入了inspect模块,然后定义了一个Person类,该类有两个属性name和age。接着我们实例化了一个Person对象,并使用inspect.getmembers方法打印该对象的属性和方法。
相比于前面的三个方法,inspect模块可以更精确地筛选出需要的信息,并且输出的格式更加友好易读。需要注意的是,inspect.getmembers方法同样只能打印实例化对象的属性和方法。
总结
本篇文章介绍了四种不同的方法来打印Python类的属性,它们分别是使用__dict__方法、vars方法、dir方法以及inspect模块。这些方法都能够帮助我们更好地了解类的结构和属性,并且可以对类的设计和实现提供帮助。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律