自定制的str和repr
class Foo():
def __init__(self, name, age):
self.name=name
self.age=age
def __str__(self):
return '自定制的str'
def __repr__(self):
return '这是自定制的repr'
f1=Foo("tong",18)
print(f1)
如果__str__没有被定义,那么就会找__repr__,但如果他们都存才时,就会用__str__
注意:这两个方法的返回值必须是字符串
自定制format 格式化
__slots__
__module__ 查看来自哪个模块
例如;
c1=foo()
print(c1)
c1.__module__
查看c1是来自于哪个模块
#####斐波那契数列
```
# 斐波那契数列,前面俩个数相加得到后面的和,例如;1 1 2 3 5 8 13
class Foo:
def __init__(self):# 必须有起始的两个值
self.a=1
self.b=1
def __iter__(self):
return self
def __next__(self):
self.a,self.b=self.b,self.a+self.b#就是a=b ,b=a+b
if self.a>=80:
raise StopIteration('终止')
return self.a
f1=Foo()
```