Python基础-函数

定义函数

def name(parameters):

statements

(return)

return返回某个值或多个值,省略则返回none。

参数的类型可以是任意的,也可以为空

def subtraction(x,y):

z=x-y

return z

调用

subtraction(2,1)

传入参数时,可以直接按照参数位置传入参数,称为位置参数;还可以用定义参数时使用的参数名传入参数,称为关键词参数。

subtraction(x=2,y=1)

1

只使用关键词参数时,可以忽略参数位置:

subtraction(y=1,x=2)

1

还可以混用两种传参方法:

subtraction(2,y=1)

在混用时,位置参数必须在关键词参数的前面;如有多个位置参数及关键词参数,位置参数的位置不可变,需要与函数定义的参数位置相一致,关键词参数之间的位置可以改变。


定义参数时,可以使用默认参数:

def subtraction(x,y=1):

z=x-y

return z

当有两个或两个以上的参数时,变量参数必须在默认参数的前面。

当函数定义中含有默认参数时,调用参数的时候可以省略默认参数或者对默认参数进行修改,方法与传入参数的方法一致。

subtraction(2)

1

subtraction(2,0)

2

substraction(2,y=0)

2


以上定义的函数的参数数目是一定的,参数数目不定的函数可以通过以下方法定义:

1.def name(x,*args)

args是函数中除去x以外的参数构成的tuple类。

def add_all(x,*args):

y=x

for i in args:

y+=i

return y

add_all(1,2,3,4,5,6,7,8,9)

45

用这样的方式定义的函数不能使用关键词传参的方法,要使用关键词传参,可以用这样的方法

2.def name(x,**kwargs):

这里kwargs相当与一个字典,关键词为字典里的键,赋值为字典里的值。

def add_all(**kwargs):

y=0

for i in kwargs.values():

y+=i

return y

add_all(a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9)

45


还可以混用*args和**kwargs传入任意个位置参数和关键词参数,*args要在**kwargs前面,对应的位置参数也要在关键词参数的前面。

3.def add_all(*args,**kwargs):

y=0

for i in args:

y+=i

for j in kwargs.values():

y+=j

return y

add_all(1,2,3,4,5,6,a=7,b=8,c=9)

45


return也可以返回多个值:

def function(x,y):

a=x+y

b=x-y

return a,b

function(1,1)

(2,0)

返回的多个值以元组的方式实现。


也可以用元组的方式传入参数。

function(*(1,1))

(2,0)

那么自然可以以字典的方式传入参数。

function(**{'x':1,'y':1}) //字典的键必须和函数定义的参数名称相一致

(2,0)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值