zoukankan      html  css  js  c++  java
  • 迭代器

    #int
    #str
    #tuple
    #list
    #dict
    #bool
    #set
    # print(dir(int))#告诉我所拥有的方法
    # print([1].__add__([2]))
    # print(dir(""))
    # print(dir(()))
    # print(dir([]))
    # print(dir(bool))
    # print(dir(range(10)))#只要可以for循环就可以迭代
    # print(dir([].__iter__()))#一个列表执行了__iter__返回值就是一个迭代器
    # print(set(dir([].__iter__()))-set(dir([])))
    # # print([1,2,3].__iter__().__length_hint__())#元素个数
    # list=[1,2,3]
    # Iter=list.__iter__()
    # print(Iter.__iter__().__next__())#迭代器--》通过__next__在迭代器中一个一个取值
    # print(Iter.__iter__().__next__())#只要是含有—__iter__方法的都是可迭代的
    # #只要含有__iter__就是可迭代的-------可迭代协议
    # #可迭代协议:只要含有__next__和_iter__方法的就是迭代器
    # print("__iter__"in dir([]).__iter__())
    # # print("__next__"in dir([].__iter__())
    # from collections import Iterator
    # from collections import Iterable
    # print(isinstance([],Iterator))
    # print(isinstance([],Iterable))
    # #如果是迭代器一定可迭代
    #可迭代的不一定是迭代器
    #可迭代的__iter__方法就可以得到一个迭代器
    #for驯化怒就是在用迭代器
    #只有是可迭代对象的时候才能使用for循环
    # #当我们遇到一个不确定他能不能使用for循环,我们就可以判断他有没有迭代器
    # L=[]
    # for i in L:
    # pass
    # #Itertor=l.__iter__()
    #Itertor.__next__()
    #可以一个一个取值把每个值都取到
    #节省内存空间
    #迭代器不会在内存中占用一大块内存,而是需要一个给一个,每次next给一个
    l=[1,2,3,4]
    Iterator=l.__iter__()
    while 1:
    print(Iterator.__next__())
    
    
  • 相关阅读:
    .net系统缓存
    Android开源项目第四篇——开发及测试工具篇
    Android开源项目第三篇——优秀项目篇
    Android开源项目第二篇——工具库篇
    Android开源项目第一篇——个性化控件(View)篇
    android
    android 屏幕适配
    EditText属性
    Style与Theme
    ListView设背景
  • 原文地址:https://www.cnblogs.com/648071634com/p/11656375.html
Copyright © 2011-2022 走看看