全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

python如何打印一个对象的全部属性

来源:千锋教育
发布人:xqq
2023-11-07

推荐

在线提问>>

python打印对象的全部属性,可以使用__dict__方法。

遇到这样一个情况,要打印出一个对象的各种属性。但是不同对象的属性名都不一样,结构也不同,无法写一个代码来实现。然后我找到

了__dict__,使用这个属性,可以动态获取到对象的所有属性,不包括公用属性。

classTeacher(object):

display="教师"#有公有属性

def__init__(self,name,age,course,salary):

self.name=name

self.age=age

self.course=course

self.__salary=salary#也有私有属性

#在定义一个别的类

classStudent(object):

display="学生"

def__init__(self,name,sid,classes,score):

self.name=name

self.sid=sid

self.calssed=classes

self.__score=score

defprint_obj(obj):

"打印对象的所有属性"

print(obj.__dict__)

t1=Teacher("Jerry",36,"Python",20000)

s1=Student('Barry',12,"python01","B")

print_obj(t1)

print_obj(s1)

通过__dict__,就可以动态的获取到对象的全部属性。获得的是一个字典,属性名是字典的key,属性值是字典的value。从输出看,私有

属性也可以获得,只是不包括公有属性。

然后,如果只想要属性值的话,可以对字典再加工。复习一下字典的3个方法:

dict.items():用元祖来存放key和vlaue

dict.keys():只包含key

dict.values():只包含value

上面3个方法返回的都是一个可迭代对象,可以用for遍历,但不是迭代器,不能用next方法。

以上内容为大家介绍了python如何打印一个对象的全部属性,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

相关文章

python中如何应用视图函数?

python根据键值(value)返回键(key)

python中pickle模块是什么?

python解析json文件方法

python中如何dataframe转换为ndarray?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取