• 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 ))

                

  • 相关阅读:
    Linux.vim.多行复制、删除、剪切
    Linux.cp命令总提示是否覆盖
    关于常用mysql的文件
    requests 获取百度推广信息
    flask下载文件---文件流
    爬虫---爬虫er与反爬虫er之间的斗争 转发
    爬虫----scrapy账号登录豆瓣,并且重定向到电影界面,获取界面信息
    爬虫----表单登录
    爬虫---爬取豆瓣-科幻片-排行
    爬虫-----爬取所有国家的首都、面积 ,并保存到txt文件中
  • 原文地址:https://www.cnblogs.com/zero27315/p/10397184.html
Copyright © 2020-2023  润新知