
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。从输出的角度来看,私有
也可以获得属性,但不包括公共属性。
然后,如果你只想要属性值,你可以重新处理字典。复习字典的三种方法:
dict.items():key和vlaue用元祖来存储 dict.keys():只包含key dict.values():只包括value
以上三种方法都是可迭代对象,可以用for遍历,但不是迭代器,也不能用next。
更多技术请关注Python视频教程。