zoukankan      html  css  js  c++  java
  • python基础--迭代器、生成器、内置函数、面向对象编程

    迭代器:迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问完结束。迭代器只能往前不会后退

        迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果

        迭代器:迭代取值的工具

        使用迭代器的原因:提供了一种不依赖于索引取值的方式

        可迭代对象:

            只有内置__iter__方法和__next__的都可以叫做可迭代对象

    >>> list=[1,2,3,4]
    >>> it = iter(list)    # 创建迭代器对象
    >>> print (next(it))   # 输出迭代器的下一个元素
    1
    >>> print (next(it))
    2
    >>> 
    迭代器对象实例

    使用for循环进行遍历:

    list=[1,2,3,4]
    it = iter(list)    # 创建迭代器对象
    for x in it:
        print (x, end=" ")
    使用for循环对迭代器对象进行遍历

         StopIteration:这个异常用于标示迭代的完成,防止出现无限循环的情况,在__next__中我们可以设置在完成指定循环次数后触发StopIteration异常来结束迭代...

            

    生成器:在python中,使用了yield的函数被称为生成器,跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解就是生成器就是迭代器,在调用生成器的过程中,每次遇到yield时函数就会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next方法时从当前位置继续运行。调用一个生成器函数,返回的就是迭代器对象

    import sys
     
    def fibonacci(n): # 生成器函数 - 斐波那契
        a, b, counter = 0, 1, 0
        while True:
            if (counter > n): 
                return
            yield a
            a, b = b, a + b
            counter += 1
    f = fibonacci(10) # f 是一个迭代器,由生成器返回生成
     
    while True:
        try:
            print (next(f), end=" ")
        except StopIteration:
            sys.exit()
    使用yield实现斐波那契数列

    内置函数:

        abs:求绝对值

        all:只要可迭代对象中有一个为False就返回False

        any:只要可迭代对象中有一个为True就返回True

        locals:当前语句无论在哪个位置,就会返回哪个位置所存储的所有名字

        globals:无论在哪里查看的都是全局名称空间

        callable:可调用的(可以加括号执行相应的功能)

        dir:获取当前对象名称空间里面的名字

        divmod:分页器

        enumerate:枚举

        eval,exec:推荐使用exec返回字符串内部的逻辑表达式

        isinstance:该方法判断对象是否属于某个数据类型

        pow:数学表达式

        round:保留几位小数

    面向过程编程:这是一种思想(流水线思维),过程就是解决问题的步骤,面向过程的设计就好像是设计了一条工业流水线,是一种机械式的思维方式。

        优点:程序结构清晰、可以把复杂的问题简单化,流程化。

        缺点:可扩展性差,要是改动一个地方很可能要该多个地方,牵一发动全身

  • 相关阅读:
    org.hibernate.MappingException: duplicate import异常
    java web项目导入问题
    android.os.NetworkOnMainThreadException解决
    Eclipse无法识别小米2S手机
    ANDROID模拟器访问本地WEB应用
    【UE4】二十四、UE4内部版本引擎和官方版本引擎版本保持兼容的方法
    【UE4】二十三、UE4笔试面试题
    如何设置文件审计软件FileAudit的浏览选项
    PHP
    PHP
  • 原文地址:https://www.cnblogs.com/tulintao/p/11191571.html
Copyright © 2011-2022 走看看