Python Task05

Python Task05函数与Lambda表达式
一、函数

1.函数定义

创建函数用def语句,其格式为:def fun_name(par1,par2,…): 由def关键字,函数名和参数表组成
def 函数名(参数列表)
函数体
1
任何传入参数或者自变量必须放在圆括号中间

定义函数内容以冒号开始,注意缩进问题

return语句用于返回一个对象结果,当程序执行到函数的return语句时,就会将指定的值返回并结束函数,return后面的语句将不会执行

python可以没有返回值,可以有一个返回值,也可以有多个返回值,返回值的数据类型没有限制

def funXY(x, y):
x = 2x+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语句中的表达式不能含有命令,而且限有一条表达式

————————————————
版权声明:本文为CSDN博主「ZHAOYUAN_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ZHAOYUAN_/article/details/102749644

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值