• 函数及嵌套


        1.   python中函数定义方法:  
    def test(x):

    "The function definitions"
        x+=1
         return x        
    def:定义函数的关键字

    test:函数名

    ():内可定义形参

    "":文档描述(非必要,但是强烈建议为你的函数添加描述信息)

    x+=1:泛指代码块或程序处理逻辑

    return:定义返回值

    2。为何使用函数

    1. 代码重复过多,一个劲的copy and paste不符合高端程序员的气质
    2. 如果日后需要修改发邮件的这段代码,比如加入群发功能,那你就需要在所有用到这段代码的地方都修改一遍

    3.使用过程

        3.1return

       返回值数=0:返回None

         返回值数=1:返回object

         返回值数>1:返回tuple

        3.2参数

         1.参数的分别:实参(实际的要交给函数的内容)和形参(定义函数的时候它只是一个形式,只是一个变量的名)

          2.参数可以传递多个,多个参数之间用逗号分割。

          3.位置参数

                   站在实参角度:1.按照位置传值2.按照关键字传值3.位置、关键字形式混着用

                   站在形参角度:位置参数必须传值

            4.动态参数 :*args  **kwargs

            5.注意参数混合用的顺序

                    位置参数>*args>默认参数>**kwargs

     

    4.局部变量和全局变量

    在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
    全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
    当全局变量与局部变量同名时:
    在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
     
    5.嵌套函数和作用域
           Python语言允许在定义函数的时候,其函数体内又包含另外一个函数的完整定义,这就是我们通常所说的嵌套定义
     经典列子:
    
    
    def foo():         #定义函数foo(),
        m=3            #定义变量m=3;
        def bar():     #在foo内定义函数bar()
            n=4        #定义局部变量n=4
            print m+n  #m相当于函数bar()的全局变量
         bar()         #foo()函数内调用函数bar()
    
    
    

      闭包函数

    定义:

          python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包。

    使用闭包注意事项

    1,闭包中是不能修改外部作用域的局部变量的

    def foo():  
    ...     m = 0  
    ...     def foo1():  
    ...         m = 1  
    ...         print m  
    ...  
    ...     print m  
    ...     foo1()  
    ...     print m  
    ...  
    >>> foo()  
    0  
    1  
    0  
    

      从执行结果可以看出,虽然在闭包里面也定义了一个变量m,但是其不会改变外部函数中的局部变量m

    
    
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    复制代码

       

  • 相关阅读:
    20145129 《Java程序设计》第4周学习总结
    20145129 《Java程序设计》第3周学习总结
    20145105 《Java程序设计》第2周学习总结
    linux内核分析——扒开系统调用的三层皮
    Linux内核分析——跟踪分析Linux内核的启动过程
    Linux内核分析——操作系统是如何工作的
    LInux内核分析——计算机是如何工作的进行
    期末总结
    信息安全系统设计基础实验五—20135214万子惠20135227黄晓妍
    第十四周学习总结
  • 原文地址:https://www.cnblogs.com/hanxiaofeicf/p/7240771.html
Copyright © 2020-2023  润新知