zoukankan      html  css  js  c++  java
  • 3.3、Python函数详解(0601)

    回顾:

    re

    search,findall,finditer.sub,subn

    function

    ()    调用函数

    def func_name(arg1,....)   生成函数对象

    func_suite   函数体    

    闭合

     

    python闭包:闭包叫lexical closure     全称叫:词法闭包,指函数及相关的环境所组成的整体;

    是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。

    所以,python闭包是由函数和与其相关的引用环境组合而成的实体。闭包只是在形式上像函数,但自身并不是函数,

    简单讲:函数在嵌套环境中,如果在内层函数里,对外层函数作用域的变量进行了引用,那么在外层函数返回后,内层函数依然可以使用其外层函数的变量,这种变量就构成了内层函数使用时的环境。

     

    只需要对外层函数的变量施加修改,内层环境也就需要修改,所以外层函数为内层函数提供了运行环境



    函数中使用yield,会返回一个生成器对象   

             

                      

     



    装饰器:

    1、装饰器本身是一个函数 ,目的是用于装饰其他函数

    2、功能:增强被装饰函数的功能

     

    使用 @ 调用函数

    装饰器一般接受一个函数对象作为参数,以对其进行增强

     

    支持参数的函数进行装饰的使用方式:



    递归:

    • 在函数执行过程中调用自己,直到不符合条件,退 出
    • 递归需要边界条件,递归前进段和递归返回段


    协程:


    函数的设计规范

    耦合性     降低函数的耦合度方法

    1.通过参数接受输入,已经通过return产生输出以保证函数的独立性;

    2.尽量减少使用全局变量进行函数间通信;

    3.不要在函数中直接修改可变类型的参数;

    4.避免直接改变定义在另外一个模块中的变量。

     

    聚合性     提高聚合能力

    1.每个函数都应该有一个单一的、统一的目标

    2.每个函数的功能都应该相对简单

     

    函数执行环境:

    函数可以通过多种办法获得输入及产生输出



    练习:

    1.将/etc/passwd文件中的每一行都分隔成一个列表

    2.将任意文件按用户指定的分隔符把每一行都分隔成一个列表

    3.用折叠的方式(reduce)求阶乘

     

     

  • 相关阅读:
    引用 Geoprocessing调用ArcToolBox工具使用总结
    MySQL权限改观何时生效
    Ubuntu下安装*.bin挨次
    创立初始的MySQL权限
    MySQL的日期和光阴范例
    MySQL存取节制, 阶段1:连接证明
    让Linux操作零碎可以Mount NTFS分区
    Citrix进级XenDesktop桌面虚拟化产物
    如何在两台MySQL数据库间完成同步
    MySQL的数字
  • 原文地址:https://www.cnblogs.com/hanshanxiaoheshang/p/9372364.html
Copyright © 2011-2022 走看看