小朋友们好,大朋友们好!
天魁星(天魁星是什么意思)
我们今天继续学习函数,今天要学习的内容如下:
返回值
变量的作用域
匿名函数(lambda)
返回值
在Python中,可以在函数体内使用return语句为函数指定返回值。
该返回值可以是任意类型,并且无论return语句出现在函数的什么位置,只要得到执行,都会直接结束函数的调用。
语法格式如下:
return[value]
return:关键字
value:可选参数,用于指定要返回的值,可以返回一个值,可以返回多个值
我们通过几个小例子体验下。
猫妹的测试代码34.1.1.py:
猫妹的测试代码34.1.2.py:
猫妹的测试代码34.1.3.py:
变量的作用域
变量的作用域是指程序代码能够访问该变量的区域,如果超出该区域,再访问时就会出现错误。
在程序中,一般根据变量的有效范围将变量分为全局变量和局部变量。
局部变量:在函数内部定义并使用的变量,只在函数内部有效。进入函数时,系统定义局部变量,退出函数时,局部变量被销毁。
外部如访问局部变量会报错,会报告NameError异常。
猫妹的测试代码34.2.1.py:
全局变量为能够作用域函数内部和外部的变量。
它主要有以下两种情况:
猫妹的测试代码34.2.2.py
当局部变量和全局变量同名时,在函数内部更改全局变量会出现如下错误
UnboundLocalError:localvariableareferencedbeforeassignment
猫妹的测试代码见34.2.3.py
在函数体外也可以访问该变量,并且在函数体内还可以修改将其修改。
猫妹的测试代码见34.2.4.py
尽管Python允许全局变量和局部变量同名,但是实际开发中,不建议这么做,因为容易让代码混乱。
很难分清哪些是全局变量,哪些是局部变量。
匿名函数(lambda)
匿名函数是指没有名字的函数,应用需要一个函数,但是又不想动脑筋去命名函数名字。
多数情况,这样的函数只使用一次。
Python中,使用lambda表达式创建匿名函数,格式如下:
result=lambda[arg1[,arg2,...,argn]]:expression
result:用于调用lambda表达式
[arg1[,arg2,...,argn]]:可选参数,用于指定要传递的参数列表,多个参数用逗号分割。
expression:必须参数,用于指定一个实现具体功能的表达式。如果有参数,那么在表达式中将应用这些参数。
注:参数可以有多个,但是表达式只能有一个,即只能返回一个值,也不能出现其他非表达式语句(for或while)
猫妹的测试代码34.3py:
好了,今天的学习就到这里!
我们下次见!
发表评论