类的展现

将对象转换为字符串
__str__ :将对象转换成适合人可以看懂的字符串 , 用于显示给用户 , 当打印一个类的实例对象时,会自动调用str方法,并返回回来一个字符串
__repr__ : 将对象转换 为适合机器解读的字符串 , 用于显示给开发人员
__unicode__ : 详见unicode与str
展现类的属性
__dir__ :可以直接调用此方法 , 展现所有的属性 , 也可以根据需求自定义此方法
实例
class Program(object):

def __init__(self, name, age):
self.name = name
if isinstance(age, int):
self.age = age
else:
raise Exception("age must be int")


def __dir__(self):
return self.__dict__.keys()


if __name__ == '__main__':
p = Program('mike', 22)
print(p)
print(dir(p))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
获取对象的信息
class Person(object):
def __init__(self, name, gender, **kwargs):
self.name = name
self.gender = gender
# 任意数量的参数 , 并通过 setattr() 绑定属性
for k, v in kwargs.items(http://www.amjmh.com/v/):
setattr(self, k, v)


if __name__ == '__main__':
p = Person('Bob', 'Male', age=18, course='Python')
print(p.age)
print(p.course)
getattr(p, 'name') # 获取那么属性值
print(p.name)
setattr(p, 'name', 'Adam') # 设置name属性值为Adam
print(p.name)
getattr(p, 'age', 20) # 获取age属性 , 如果属性不存在 , 就返回默认值20
print(p.age)
————————————————

posted @ 2019-08-25 17:17  李艳艳665  阅读(86)  评论(0编辑  收藏  举报