- 时间:2022-08-20 00:52 编辑: 来源: 阅读:305
- 扫一扫,手机访问
摘要:Python语言基础-函数高级
<企业网站源码>
1.函数1的返回值。什么是返回值?返回值是从函数内部传递到函数外部的数据。1)如何返回返回值是return关键字后表达式的值。语法:返回表达式1,表达式2......描述:return-keyword,只能出现在函数体中。a .从函数内部向函数外部抛出数据。b .结束函数(执行函数时,只需要满足返回函数,直接结束即可)。表达式——要么没有,要么只有一个(返回值是指定的数据),也可以有多个(本质上是返回一个元组)。注意:如果一个函数中没有return或者运算符在执行函数体时没有遇到return,那么这个函数的返回值就是None2。2)如何对外使用返回值?返回值是函数调用表达式的值。2.何时需要返回值取决于该函数是否会生成新数据。如果生成了新数据,可以将新数据作为普通数据的返回值返回。函数调用表达式可以做任何事情。 3.函数调用过程第一步:返回函数定义的位置。第二步:传递参数(用实参给参数赋值;传递时,必须确保每个参数都有值。第三步:执行函数体。第四步:执行函数体(a .执行函数体中的最后一条语句。b .遇到return)确定返回值(看函数体执行后是否遇到return。如果遇到函数的返回值,就是return后的值。否则为None)第五步:回到调用函数的位置后再执行(此时函数调用表达式的值就是函数的返回值)。2.全局变量和局部变量。1.函数调用期间内存的变化。每次调用一个函数,系统都会自动为这个函数创建一个独立的堆栈区间,用来存储函数运行过程中产生的数据(函数的参数,函数中宣告的变量)。 当函数调用结束时,这个堆栈间隔将被自动销毁。 (这个过程叫做叠压)2。全局变量和局部变量1)没有在函数或类中定义的全局变量是全局变量的作用域:从定义开始到程序结束的任何地方都可以使用。2)局部变量定义为函数中的局部变量(参数是局部变量,注意:定义函数时赋给参数的默认值实际存储在堆中)局部变量的作用域:可以使用3.global和nonlocal1)global:声明指定的变量是函数中的全局变量:a .修改函数中全局变量的值;b .定义函数中非局部的全局变量;如果要修改局部部分的局部变量的值,也就是可以用非局部来解释。注意:声明必须放在使用变量之前,否则错误名称= '张三' def change():全局名称#修改全局变量name中name的值name = '李四'全局年龄#定义函数中全局变量age = 18返回namechange()。打印(姓名、年龄)4。匿名函数1。什么是匿名功能?匿名函数本质还是功能?除了定义的语法,其余普通函数都适用于匿名函数。匿名函数的本质是类型为函数的数据。普通数据能做的可以作为语法:Lambda参数表:返回值5。递归函数1。什么是递归函数:在循环内部调用函数本身,递归可以做循环能做的任何事情。2.如何使用递归?第一步:确定临界值(在临界值处结束函数)。第二步:求关系(求当前循环f(n)和前一循环f(n-1)的关系)。第三步:假设功能已经实现。用上一个循环f(n-1)实现当前循环函数(f(n))。例如:def yt_sum(n): # 1。求n == 1时的临界值:返回10# 2。关系:YT _ sum(n)= YT _ sum(n-1)+n return YT。+n print(yt _ sum(100))def yt _ sum 1(n):如果n == 1或n = = 2:return 1 return yt _ sum 1(n-1)+yt _ sum 1(n-2)print(yt _ sum 1(40))