类内方法:
1. __str__(self)方法:
- 当使用print输出对象的时候,只要自己定义了
__str__(self)方法,那么就会打印从在这个方法中return的数据 __str__方法需要返回一个字符串,当做这个对象的描写
| 未重写__str__方法 | 重写__str__方法 |
class Child2():def __init__(self,x):self.x=x# def __str__(self):# return str(self.x * 2) c1=Child2(1) print(c1) |
class Child2():def __init__(self,x):self.x=xdef __str__(self):return '重构__str__方法' c1=Child2(1) print(c1) |
| <__main__.Child2 object at 0x000001E167353B38> | 重构__str__方法(使用print函数输出的是__str__返回的字符串) |
2. __len__(self)方法:获得类的长度
要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数。
| 未重写__len__方法 | 重写__len__方法 |
class Child2():def __init__(self,x):self.x=xdef __str__(self):return '重构__str__方法'# def __len__(self):# return len(self.x)
c1=Child2("name")
print(len(c1)) |
class Child2():def __init__(self,x):self.x=xdef __str__(self):return '重构__str__方法'def __len__(self):return len(self.x)
c1=Child2("name")
print(len(c1)) |
TypeError: object of type 'Child2' has no len()
|
4(“name”的长度) |