zoukankan      html  css  js  c++  java
  • 函数名的应用/列表推导式

    函数名的运用:

            1,特殊的变量。

            2,函数名可以当做变量赋值。

            3,函数名可以当做容器类类型的元素。

            4,函数名可以当做函数的参数。

            5,函数名可以当做函数的返回值

        闭包:

            1,内层函数对外层函数的变量(非全局)的引用。

            2,闭包存在于函数中。

            3,闭包要逐层返回,最终返回到函数的最外层。

        特点:

            解释器遇到闭包,不会随着函数的结束而结束空间

        闭包应用:

            装饰器。

            爬虫。

     

        可迭代对象:

            obj

            '__iter__' in dir(obj)

            from collections import Iterable

            isinstance(obj, Iterable)

            可迭代对象不能直接取值,必须转化成迭代器进行取值(__next__)

     

        迭代器:

            '__iter__' in dir(obj) and '__next__' in dir(obj)

             from collections import Iterator

            isinstance(obj, Iterator)

        一个next 对应一个元素

        l1 = [1, 2, 3,]

        obj = iter(l1)

        while True:

            try:

                print(obj.__next__())

            except Exception:

                Break

     

     

     

     

     

     

     

     

     

     

    生成器:本质就是迭代器,自己用python代码构建的迭代器。

        1,生成器函数。(yield)

        2,生成器表达式。(i for i in range(100))

        生成器对象:gentor

            next(gentor)

            send(gentor)

            for 循环

        yield 与 return 区别?

     

        send:

            给上一个yield发送一个值

            send 对应yield取值。

     

        next:

            对应一个yield 取值。

     

        yield from 将一个可迭代对象变成一个迭代器返回。

     

        列表推导式:

            循环模式:[变量(加工后的变量) for 变量 in iterable]

            三元模式:['*' if a > b else 变量  for 变量 in iterable]

            筛选模式:[变量(加工后的变量) for 变量 in iterable if 条件]

            优点:

                一行代码搞定,简单,高逼格。

            缺点:有毒。不能采用debug模式查错。

        生成器表达式:与上面相同,将[] 换成()

  • 相关阅读:
    Vue 报错[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders
    常用的英语词汇
    增加个人形象气质
    网络基础
    MK-编辑器
    Nexus仓库构建
    POM的配置文件
    Dubbo_Admin安装
    dubbo管理控制台安装和使用
    Dubbox监控在服务器中的安装
  • 原文地址:https://www.cnblogs.com/Lgongzi/p/10252217.html
Copyright © 2011-2022 走看看