zoukankan      html  css  js  c++  java
  • Python 复习(二)

      2019-02-18 16:12:57

      时隔半个多月,又将Python复习提上了议程。。。。

    1.   迭代器与生成器

           之前的学习过程中没有理解清楚迭代器的含义及原理,特别是 yield 的用法。今天算是弄明白了。

        迭代器就是生成迭代序列。用 __iter__()类初始化,__next__()类遍历。

        

    Ls = [1,2,3]
    it = iter(Ls)
    while True:
        try:
            print(next(it))
        except StopIteration:
            sys.exit()

          用了yield的函数就被成为生成器。相当于再原来的过程中多出一步:将需要返回的值抛出,然后继续执行

    """
    Created on Mon Feb 18 16:21:34 2019
    
    @author: 13746
    """
    import sys
            
    def fyield(n):
        a,b,count = 0,1,0
        while True:
            if (count>n):
                return
            else:
                yield a
                a,b=b,a+b
                count+=1
    f = fyield(10)
    while True:
        try:
            print(next(f),end='')
        except StopIteration:
            sys.exit()

      2.   函数

        python的函数与C差不多,不同之处也不少。变量是函数的重要组成部分,变量是没有类型的,实质是指针。

        在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

        在传递的过程中有 可变对象和不可辨对象,类似于C++中的引用和值传递

          参数

        •  必须参数
        • 关键字参数
        • 默认参数
        • 不定长参数 def fun(a,b,c,*vartuple,**vardict) 一个星号表示以元组形式导入,俩个以字典形式导入;星号还可以单独出现,                                                                                                                                                                                 *号后面的参数需要以关键字的形式导入,def f(a,b,*,c) f(1,2,,c=3)            

          匿名函数

            使用lambda创建匿名函数

    # lambda [arg1,arg2,arg3...] expression
    # 可写函数说明
    sum = lambda arg1, arg2: arg1 + arg2
    # 调用sum函数
    print ("相加后的值为 : ", sum( 10, 20 ))
    print ("相加后的值为 : ", sum( 20, 20 ))

                

  • 相关阅读:
    2018.10.29-dtoj-3999-游戏(game)
    2018.10.27-dtoj-3996-Lesson5!(johnny)
    2018.10.25-dtoj-2903-蛋糕(cake)
    2018.10.25-dtoj-1113-Hy拯救公主 princess
    2018.10.25-dtoj-3989-五子棋(fir)
    2018.10.25-dtoj-1588-Intelligence test(test)
    2018.10.24-dtij-2636-262144(game)
    2018.10.23-dtoi-2004:象棋Chess(Chess)
    中国PostgreSQL认证考试,证书类别、考试科目、及格分数、报名方式
    PostgreSQL技术分享公开课:备份恢复与Point-in-Time Recovery(PITR)
  • 原文地址:https://www.cnblogs.com/zero27315/p/10397184.html
Copyright © 2011-2022 走看看