您的位置:首页 > 编程语言 > Python开发

【Python学习笔记】5. 函数

2018-03-28 23:07 330 查看
1.函数的定义:def 函数名():
2.函数的调用 函数名()
    






    


3.形参和实参
    def myfirstfunction(name)

    函数定义过程中的name是叫形参,因为它只是一个形式,表示占据一个参数位置。

    函数调用过程中myfirstfunction("abc")叫做实参,它是具体的参数值。

4.函数文档
    对函数大致功能进行介绍,用,在函数里面引号里写好函数的标注说明,用__doc__(双下横线)显示。

    


5.关键字参数
    用关键字索引参数,放置混乱

    


6.形参默认值
    形参设置默认值后,如果在函数使用过程中,没有带参数,就返回设置的默认值,也可以给部分参数,其他没有给的参数用默认值。

    




7.函数与过程
    过程是简单的,特殊并且没有返回值的函数。python基本只有函数,没有过程。自己在函数里加返回值的时候就返回指定的返回值,没有加返回值时,函数返回none对象,如图所示。

    


    python可以返回多个值。如果没有括号,默认返回元祖。

    


       

8.函数变量与作用域
    局部变量:函数内部定义的变量,在函数外不能访问。如:

    


    全局变量:在函数外的变量,在函数里面也能访问。但如果试图在函数里修改全局变量,Python会自动在函数里创建一个名字一样的局部变量,原全局变量不变,如图。
    




9.global关键字
    要在函数中修改全局变量,可以用global关键字。

    


    10.内嵌函数

    在函数里面再定义另一个函数。内部函数整个作用域都在外部函数之内。在外部函数外不能调用内部函数。

        


    11.闭包

    如果在一个内部函数里对外部作用域(但不是在全局作用域)的变量进行引用,这个内部函数就叫闭包。

    




    注意这种情况:fun2()里的变量x是自己新生成的局部变量,而不是fun1里的x,fun1里的x对fun2来说是全局变量,不能变。

    




    解决办法:

    (1)用列表                                                                            (2)用 nonlocal
    

                                    


    12.lambda表达式

    python允许用关键字创建匿名函数。lambda之前是变量,之后的返回值。

    




    python写一些执行脚本时,使用Lambda就可以省下定义函数的过程,比如说我们只是需要写个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用Lambda就可以使得代码更加精简。

    对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候给函数起个名字也是比较头疼的事,使用lambda就不需要考虑命名的问题了。
    13.filter()函数

    把任何非true的内容过滤掉。

    






    map()函数

    将序列的每一个元素做为函数的参数进行运算,直达可迭代序列的每个元素都运算完毕。返回所有加工过得元素构成的新序列。

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: