0. 私有方法
- 概念:在对象外部
不能被调用
的方法1. 形式 def __方法(): pass 2. 示例 class Person: def __play(self, ball): print("在打球", self, ball) p = Person() p.__play() print(Person.__dict__) 3. 注意:不要定义"_类名__方法名"这种方法
1. 内置特殊方法
- 信息格式化操作
1. __str__方法 (1) 作用:一个对象的描述字符串, 更加方便用户阅读, 对用户更好 (2) 触发方式 1) print 打印一个对象 2) str() 函数 (3) 格式 def __str__(self): return "描述信息" (4) 示例 class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return "这个人的姓名是 %s, 这个人的年龄是:%s" % (self.name, self.age) p = Person("王小熊", 18) print(p) s = str(p) print(type(s), s)
2. __repr__方法 (1) 作用:一个对象的描述字符串, 更加方便开发人员查看, 对开发人员更友好 (2) 触发方式 1) 当我们在交互模式下, 直接执行某个变量, 就会输出对应信息 2) repr() 函数 (3) 格式 def __repr__(self): return "描述信息" (4) 注意 1) 描述一个实例对象详细的信息 2) 一般情况下, 应满足如下等式: obj == eval(repr(obj)) (5) 示例 class Person: def __init__(self, name, age): self.name = name self.age = age def __repr__(self): return "这个实例对象的类对象是 %s" % self.__class__ p = Person("王小熊", 18) print(repr(p)) print(p) import datetime t = datetime.datetime.now() print(t) temp = repr(t) result = eval(temp) print(result)
网友评论