zoukankan      html  css  js  c++  java
  • 2020/2/6-Python学习计划

    返回函数

    高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。

    当一个函数返回了一个函数后,其内部的局部变量还被新函数引用,所以,闭包用起来简单,实现起来可不容易。

    返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。

    一个函数可以返回一个计算结果,也可以返回一个函数。

    返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量。

    匿名函数

    在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。

    关键字lambda表示匿名函数,冒号前面的x表示函数参数。

    匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。

    用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数。

    装饰器

    由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。

    现在,假设要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。

    在面向对象(OOP)的设计模式中,decorator被称为装饰模式。OOP的装饰模式需要通过继承和组合来实现,而Python除了能支持OOP的decorator外,直接从语法层次支持decorator。Python的decorator可以用函数实现,也可以用类实现。

    偏函数

    Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。但是,这里的偏函数和数学意义上的偏函数不一样。

    所以,简单总结functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

    当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。

  • 相关阅读:
    初识ASP.net-牛腩新闻公布系统
    【React Native开发】React Native控件之RefreshControl组件具体解释(21)
    Drupal 主题的表现形式
    OAF 设置右对齐
    在页面和请求中分别使用XML Publisher生成PDF报表且自动上传至附件服务器
    在请求的参数中设置可选值列表为当前职责可访问的所有OU
    校验基于EO的VO中的字段是否发生变化
    在使用DBMS_LOB.WRITEAPPEND()追加Clob内容的时候,报数字或值异常
    OAF中下载附件之后页面失效,报过时的数据异常,浏览器后退异常
    JAVA 中CLOB与Clob有区别
  • 原文地址:https://www.cnblogs.com/fuheishi/p/12272314.html
Copyright © 2011-2022 走看看