基础学习记录(5/17)——函数与Lambda表达式
作者:互联网
基础学习记录(5/17)——函数与Lambda表达式
一、函数
1.函数定义
- 创建函数用def语句,其格式为:def fun_name(par1,par2,…): 由def关键字,函数名和参数表组成
def 函数名(参数列表)
函数体
-
任何传入参数或者自变量必须放在圆括号中间
-
定义函数内容以冒号开始,注意缩进问题
-
return语句用于返回一个对象结果,当程序执行到函数的return语句时,就会将指定的值返回并结束函数,return后面的语句将不会执行
-
python可以没有返回值,可以有一个返回值,也可以有多个返回值,返回值的数据类型没有限制
def funXY(x, y):
x = 2*x+y
y = y*y
return x, y
x = 4
y = 6
print(funXY(x,y )) # 14,36
2.函数参数
python中的函数参数主要有3种形式
- 位置或关键字参数
位置或关键字参数是python默认的参数类型,函数的参数定义为该类参数后,可以通过位置参数,或者关键字参数的形式传递参数
def fun2(a,b,c):
print(a,b,c)
fun2(1,2,3) # 可使用位置参数输出1,2,3
fun2(a=1,b=2,c=3) #可使用关键字参数,关键字参数之间位置没有关系输出1,2,3
fun2(1,b=2,c=3) #混合参数,位置参数必须在关键字参数之前输出1,2,3
fun2(a=1,b,c) #报错
注意函数参数列表中可以定义默认参数,但是python不允许带默认值的参数定义在没有默认值参数之前
def fun3(a=1,b):
print(a,b)
fun3(2) #报错
def fun3(a,b=3):
print(a,b)
fun3(1) #输出1,3
- 任意数量的位置参数
任意数量的位置参数在定义的时候需要一个星号前缀来表示,在传递参数的时候,可以在原有参数的后面添加0个或多个位置参数,这些参数将会被放在元组内并传入函数。
def fun4(str1,*numbers):
print(str,numbers)
fun4("numbers:",1,2,3,4)
#<class 'str'> (1, 2, 3, 4)
注意任意的位置参数(一个 一个星号前缀)必须定义在位置或关键字参数之后,并且在任意数量的关键字参数(两个星号前缀)之前
- 任意数量的关键字参数
任意数量的关键字参数在定义时,参数名称之前需要两个星号作为前缀,这样定义出来的参数可以在原有参数后面添加任意个0个或多个关键字参数
二、lambad语句
python语句允许使用lambad语句创建匿名函数,也就是说函数没有具体名称;lambad语句中,冒号前是函数参数,若由多个函数使用逗号分隔,冒号右边时返回值
g = lambda x:x+1
print(g)
print(g(1)) #2
使用lambad函数注意以下4点
- lambad定义的是单行函数,如果需要复杂的函数,应该使用def语句
- lambad参数列表可以包含多个参数
- lambad语句有且只有一个返回值
- lambad语句中的表达式不能含有命令,而且限有一条表达式
标签:语句,函数,17,lambad,关键字,参数,表达式,def,Lambda 来源: https://blog.csdn.net/ZHAOYUAN_/article/details/102749644