先是昨天的内容回顾,然后补充了几个特殊方法

class 类名(object):

"""

afafafaaffseaeeseseasfg

"""

  def  __init__(self):

      pass

  def 方法名(self):

      pass

  def __str__(self):

      return  “a”              这个返回的必须是 字符串

对象名=类名()

print(对象名)     如果没有str那两行 打印内存地址和__main__   如果有那两行传回什么打什么

print(对象名。__doc__)       这个打印出那行注释afafafaaffseaeeseseasfg

 

class  类名(object):
        def __init__(self,name, age)
            self。name=name
            self.age=age
       def 方法名(self):
            pass
对象1=类名(’赵‘,’1‘)
对象2=类名(‘钱’,‘1’)
print(对象名1.__dict__)    这样就把  赵 1  都打印出来了  
                                        这就是把封装的东西都取出来了

 

l=[1,2,3,4]
 from  i   in  l:
        print(i) 这个l可以被循环,是可迭代对象
class 类名(object):
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def 方法名(self):
        pass

# obj1是类的一个对象,不可迭代对象
obj1 = 类名('赵',99)

for item in obj1:
    print(item)
如果想把不可迭代对象,转换成可迭代对象,
1,在类中定义__iter__方法
2,iter内部返回一个迭代器(生成器也是特殊的迭代器)
class 类名(object):
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def 方法名(self):
        pass
    def __iter__(self):
        return iter((self.name,self.age)) 或return iter([1,2,3,4])
for i in obj1
    print(i)  现在就可以打印了,第一个是打印实参,必须是可迭代的,加中括号,列表, 小括号,元组
class 类名(object):
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def 方法名(self):
        pass
    def __iter__(self):
        yield 1
        yield 2        这是生成器,生成器也属于迭代器   也ok