Python-函数基础

一、函数:将一组语句的集合 通过一个函数名字封装起来,执行函数,直接调用函数名即可。

特点:减少代码量,使程序变得可拓展;使程序易于维护。

二、函数形参/实参

形参:在函数内部的参数;在调用时才分配内存,调用结束后,释放所分配的内存单元。

实参:调用函数,传入确定的值,以便把这些值传给形参。

三、默认值(默认形参),关键参数(关键实参)

默认值:在定义参数,将某一个形参指定为一个确定的值;在调用时,不写这个参数,会使用默认值;写参数,会使用你定义的值。默认值在位置参数后面。

关键参数:在调用时,不想按顺序,可以 使形参名字=值  调用;关键参数放置在位置参数后面。

四、非固定参数

若你的函数在定义时不确定用户想传入多少个参数,可以用非固定参数。*args  **kwargs

例如:def student_register(name,age,*args, **kwargs)  # *args 会把多传入的参数变成一个元组形式。如果没有传多余的值,会显示成一个()空元组, {} 空字典。

调用 student_register("jack", 32, "CN", "Python", sex="Male", province="ShanDond")

#输出

jack 32 ("CN", "Python", {'sex':'Male', 'province':'ShanDong'})

五、返回值return

函数外部的代码想要获取函数的执行结果,就可以在函数里用return语句把结果返回。

注意:return代表函数终止,如果没有在函数中指定return,那么这个函数的返回值是None。

六、全局变量与局部变量、作用域

全局变量:在程序一开始定义的变量成为全局变量。全局变量作用域是整个程序。

局部变量:在函数中定义的变量为局部变量。局部变量作用域是定义该变量的函数。

当全局变量与局部变量同名时,在定义局部变量的函数里,局部变量起作用;在其他地方全局变量,起作用。

作用域:一段代码中的所用到的名字并不总是有效(例如全局变量,局部变量 显示名字的问题),限定这个名字的可用性的代码范围就是这个名字的作用域。

七、嵌套函数、匿名函数、高阶函数

嵌套函数:一层套一层函数应用

匿名函数:calc = lambda x,y:x**y,可以与其他函数一起应用。

高阶函数:变量可以指向函数,函数的参数能接受变量,那么函数就可以接受另一个函数作为参数。

def add(x, y, f):
    return f(x) + f(y)
res = add(3, -6, abs)
print(res)

接受一个或者多个函数作为输入,return返回另外一个函数。

八、递归

在函数内部,可以调用其他函数。如果一个函数在内部调用自己本身,这个函数就是递归函数。

递归特性:1、必须有一个明确的结束条件 ;2、每次更深一层,问题规模相比上次递归都应有所减少;3、递归效率不高,递归层次过多会导致栈溢出。

 

posted on 2018-11-21 13:51  赫晓蕊  阅读(82)  评论(0编辑  收藏  举报

导航