首页 > 其他 > 详细

特殊的方法,

时间:2018-08-30 21:30:03      阅读:150      评论:0      收藏:0      [点我收藏+]

1.__str__ (就是为了好看)

 1 class Foo(object):
 2     def __init__(self):
 3         pass
 4     def func(self):
 5         pass
 6     def __str__(self):
 7         return "f1"
 8 obj=Foo()
 9 print(obj,type(obj))#f1 <class ‘__main__.Foo‘>
10 #就是为了显示的好看__str__

2.__init__(为了显示全部数据)

 1 class Foo(object):
 2     def __init__(self,name,age):
 3         self.name=name
 4         self.age=age
 5     def func(self):
 6         pass
 7 obj1=Foo(战旗,18)
 8 obj2=Foo(,20)
 9 print(obj1.__dict__)#{‘name‘: ‘战旗‘, ‘age‘: 18}
10 print(obj2.__dict__)#{‘name‘: ‘张‘, ‘age‘: 20}
11 #这里不用声明,直接在对象后面输出__dict__就可以让
12 #所有封装的数据以字典的形式显示出来

3.__iner__ (把类变成可迭代对象)

如果想要把不可迭代对象,
1.在类中定义__iter__方法
2.iter内部返回一个迭代器
怎么判断是否可迭代?
是否有iter,是否返回迭代器
 1 class Foo(object):
 2     def __init__(self,name,age):
 3         self.name=name
 4         self.age=age
 5     def func(self):
 6         pass
 7     def __iter__(self):
 8         return iter([11,22,33,44,55])
 9     # def __iter__(self): 生成器也是特殊的迭代器
10     #    yield 11
11     #    yield 22
12     #    yield 33
13 obj1=Foo(战旗,18)
14 for item in obj1:
15     print(item

 

特殊的方法,

原文:https://www.cnblogs.com/zhangqing979797/p/9562753.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!