• python基础7 ---python函数


    python基础知识

    一、闭包函数

      1、闭包函数的定义:在一个内部函数中,在对外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包。

      2、闭包函数的特点:自带作用域和延迟计算

      补充:1.函数的作用域关系在函数定义阶段就已经固定,与调用位置无关。无论函数在何处调用,都需要回到定义阶段去找对应的作用域关系。

         2.globals:是把局部变量的值声明为全局变量的值。

          nonlocal:在一个内部函数中修改外部函数里的局部变量的值。

    二、装饰器

      1、装饰器遵循的是开放封闭原则:对扩展是开放的对修改是封闭的。

      2、装饰器的本质是:装饰器可以是任意可调用的对象,被装饰的对象也可以是任意可调用的对象。(装饰器本质就是函数,功能就是为其他函数添加新功能。)

      3、装饰器的功能:在不修改被装饰对象源代码以及调用方法的前提下为其添加新功能。

      4、装饰器的原则:不修改源代码,不更改源代码的调用方式。

      5、装饰器的目的:是为了添加新功能

      6、装饰器语法:在被装饰对象的正上方的前一行@装饰器名称。

      7、如果有多个装饰器,加载顺序是从下到上,执行顺序是从上到下。

     三、高阶函数

      1、高阶函数定义:函数接受的参数是个函数名,或者是函数的返回值是个函数名,满足其中一条就是高阶函数。

      2、高阶函数总结:

      当函数接收的参数是一个函数名                      当函数的返回值是一个函数名
       作用:在不修改函数源代码的前提下,为函数添加新功能,            作用:不修改函数的调用方式
       不足:会改变函数的调用方式                        不足:不能添加新功能
     四、补充:

       1、装饰器=高阶函数+函数嵌套+闭包                无参装饰器=高级函数+函数嵌套

       2、补充1:

        from urllib.request import urlopen
        print(urlopen('http://www.xiaohua100.cn/').read())
        print(urlopen(
    'https://www.python.org').read())

         from functools import wraps

  • 相关阅读:
    20199318 2019-2020-2 《网络攻防实践》综合实践
    20199318 2019-2020-2 《网络攻防实践》第十二周作业
    20199318 2019-2020-2 《网络攻防实践》第十一周作业
    20199318 2019-2020-2 《网络攻防实践》第十周作业
    20199318 2019-2020-2 《网络攻防实践》第九周作业
    20199318 2019-2020-2 《网络攻防实践》第八周作业
    20199318 2019-2020-2 《网络攻防实践》第七周作业
    20199318 2019-2020-2 《网络攻防实践》第六周作业
    20199318 2019-2020-2 《网络攻防实践》第五周作业
    20199318 2019-2020-2 《网络攻防实践》第四周作业
  • 原文地址:https://www.cnblogs.com/xuanan/p/7009167.html
Copyright © 2020-2023  润新知