python函数的定义与调用每一个语句的含义_python函数基础(函数的定义和调用)...

函数的定义

python定义函数使用def关键字

return[表达式]语句用于退出函数,选择性的向调用方返回一个表达式,不带参数值的return语句返回none

def函数名(参数列表):

函数体

#计算面积的函数

defz(x,y):

i=x*yprint(i)

z(2,7)#运行结果:

14

defsum(x,y):

z=x+yprint('函数内',z)#调用的函数中没有return表达式

z=sum(5,9)print('函数外',z)#运行结果

函数内 14函数外 None

defsum(x,y):

z=x+yprint('函数内',z)returnz#调用的函数中没有return表达式

z=sum(5,9)print('函数外',z)#运行结果

函数内 14函数外14

参数的默认值

def inc(base,x=1): 给第二个参数设置一个默认值,若是不传递参数,则使用默认的参数值,若是传递参数,则使用传递的参数值

可变参数

def sum(*lst): 参数前面加一个星号,表示这个参数是可变的,也就是说可以接受多个参数,将这些参数构成一个元组,只能通过为止参数传参

可变参数有两种形式:位置可变参数 : 参数前加一个星号,参数构成一个元组,参数只能以 位置参数 的形式传参

关键字可变参数 : 参数前加两个星号,参数构成一个字典,参数只能以 关键字参数 的形式传参

当默认参数和可变参数一起出现的时候,默认参数相当于普通参数

通常来说:默认参数靠后

可变参数靠后

默认参数和可变参数不同时出现

keyword-only: 必须以Key->Value对的形式出现的,叫做keyword-only

参数的传递

传递不可变对象实例

defjiaohuan(m,n):

temp=m

m=n

n=tempreturna=2b=3

print(a,b)

jiaohuan(a,b)print(a,b)#运行结果

2 3

2 3

调用函数时可使用的正式参数类型:必需参数、关键字参数、默认参数、不定长参数

必需参数

必需参数须以正确的顺序传入函数。调用时的数量不须和声明时的一样

调用printme函数,必须传入一个参数,不然会出现语法错误

defprintme(str):"打印任何传入的字符串"

print(str)

printme("调用printme函数")#运行结果

调用printme函数

关键字参数

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值

使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为python解释器能够用参数名匹配参数值

defprintme(str):"打印任何传入的字符串"

print(str)

printme(str="调用printme函数")#运行结果

调用printme函数

默认参数

调用函数时,如果没有传递参数,则会使用默认参数

def sum(name,age=50):print(name,age)

name='白云'age=45sum(name,age)#运行结果

白云 45

不定长参数

你可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数,声明时不会命名

加了星号的变量名会存放所有未命名的变量参数。如果在函数调用时没有指定参数,它就是一个空元组,我们也可以不向函数传递未命名的变量

def printinfo(str,*varchar):'打印任何输入的字符串'

print('输出:')print(str)for var invarchar:print(var)#调用函数printinfo

printinfo(10)

printinfo(70,60,50,40,30)#运行结果

输出:10输出:70

60

50

40

30

匿名函数

python使用laabda来创建匿名函数

所谓匿名,即不再使用def语句这样标准的形式定义一个函数

sum=lambda x,y:x+yprint(sum(1,2))#运行结果

3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值