zoukankan      html  css  js  c++  java
  • 假期python复习4

    函数

    函数的定义和调用

    def 函数名(形参):

    ​ 函数体

    ​ return 返回值

    站在形参的角度上:位置参数,*agrs,默认参数(陷阱),**kwargs

    站在实参的角度上:按照位置传,按照关键字传

    返回值:没有返回值 返回一个值 返回多个值

    接收返回值:没有返回值不接受,返回一个值用一个变量接收,返回多个值用一个变量或对应数目的变量接收

    闭包函数

    在内部函数引用外部函数的变量

    装饰器

    装饰器一定是闭包函数

    作用:在不改变原来函数的调用方式的情况下在这个函数的前后添加新的功能

    完美的符合了一个开发原则:开放封闭原则

    ​ 对扩展是开发的

    ​ 对修改是封闭的

    @wrapper使用装饰器---语法糖

    完美的装饰器

    from functools import wraps

    @wraps(func)

    取函数名的时候使用

    带参数的装饰器

    @wrapper --》@wrapper(argument)

    三层嵌套函数

    多个装饰器装饰一个函数

    @wrapper1

    @wrapper2

    def func():

    ​ pass

    这里就是先运行wrapper1在运行wrapper2

    迭代器

    dir加类型可以打印出该数据类型所有可以使用的方法

    双下划线的方法叫做双下方法-------写好的c语言方法

    print([1].__add__([2]))
    print([1] + [2])
    

    如果这个方法,一般情况下双下方法不被调用

    set将列表变集合

    int不可迭代

    可以用‘’iter‘’ in dir(int)判断

    只要是能被for循环的数据类型就一定拥有____iter____方法

    iterator迭代器

    一个列表执行了____iter____()之后的返回值就是一个迭代器

    可以指定从指定位置开始取 取值 计算迭代器内元素个数

    只要含有____iter____方法的都是可迭代的-------可迭代协议

    for循环时会检测是否可迭代的

    迭代器协议:内部含有____next____和____iter____方法的就是迭代器

    from collections import Iterable 判断是否可迭代

    from collections import Iterator 判断迭代器

    迭代器协议和可迭代协议

    可以被FOR循环的都是可迭代的

    可迭代的内部都有____iter____方法

    迭代器一定可迭代:因为里面有____iter____方法含____iter____方法就可迭代

    通过____next____方法就可以从迭代器中一个一个的取值

    可迭代的。iter()方法就可以得到一个迭代器

    当我们遇到一个新的变量,不确定能不能for循环的时候,就判断他是否可迭代

    for循环的执行:内部会调用____iter____方法 然后每个值都是从产生的迭代器中取得,直到取完报错

    迭代器的好处:

    1、从容器类型中一个一个的取值,会把所以的值都取到

    2、节省内存空间 range 和 f(文件句柄)

  • 相关阅读:
    java 将表情转换成字符串存入数据库
    java html websocket简单实现
    Java poi读取Excel表格中公式的计算值
    转盘代码,自己搞了一个
    html5 canvas画布
    cat命令查看文件指定行数
    CentOS7 安装 gpbackup 和 gpbackup-s3-plugin 来备份和还原 Greenplum 数据库
    QT5 打包发布Release应用程序
    CentOS7 安装Redis6.0.10
    ES系列(二):基于多播的集群发现实现原理解析
  • 原文地址:https://www.cnblogs.com/394991776zyh/p/14287867.html
Copyright © 2011-2022 走看看