函数的形参

函数的形参

函数的缺省参数

  语法:

def 函数名(形参名1=默认实参1,形参名2=默认实参2.缺省参数必须从左至右依次存在

语句

示例:

def info(name, age=1, address=不详)

print(我叫name, 我今年age,岁,家庭住址 , 不详)

info(张飞30中原)

info(赵云) # 实参不够的时候 自定填充红字

说明:

缺省参数必须从左至右依次存在

缺省参数可以有0个,1个,多个,或全部都有缺省参数

缺省参数的绑定对象存在于函数内,同函数的生命周期一致

示例:

def fn(a, lst=[]):

    lst.append(a)

    print(lst)

L=[1,2,3,4]

fn(5, L)>>>[1,2,3,4,5]

fn(6,L)>>>[1,2,3,4,5,6]

fn(1)>>>[1]

fn(2)>>>[1,2]

 

函数的形参定义方式

1. 位置形参

2. 星号元组形参

3. 命名关键字形参

4. 双星号字典形参

 

位置形参:

def 函数名(形参名1,形参名2

语句块

星号元组形参:

  语法:

def 函数名(*元组形参名)

语句跨

作用:

  收集多余的位置形参

示例:

def function(*args):

    print("实参个数是",len(args))>>>3

    print("args的值是:",args)>>>(1,2,3)

func(1,2,3)

func("abc",3.1,2,True)>>>5

类似于print,以元组形式输出>>>("abc",3.1,2,True)

命名关键字形参:

  语法:

def 函数名(*, 命名关键字形参)

语句块

def 函数名(*args,命名关键字形参):

语句块

作用:

  所有的命名关键字形参都强制调用者采用关键字传参或字典关键字传参的方式调用

示例:

def myfun(a,*,k)

    print('a',a)

    print('k',k)

myfun(100,200) #错误的

myfun(100,k=200) >>>a=100,k=200# k强制使用关键字传参

myfun(10,**{'k':20})>>>a=10,k=20

 

def myfun2(b,*args,c,d):

    print("b=",b)

    print("args=",args)

    print("c=",c)

    print("d=",d)

myfun2(100,200,300,600,c=400,d=500) # c,d强制使用关键字传参

>>> b= 100

    args= (200, 300, 600)

    c= 400

    d= 500

双星号字典形参:

  语法:

def 函数名(**字典形参名):

语句块

  作用:

收集多余的关键字传参

  注:

字典形参名通常叫 kwargs

示例:

def func(**kwargs):

    print("关键字传参个数是:",len(kwargs))

    print("kwargs",kwargs)

func(name='tarena',age=15)

func(a=1,b='BB',c=[2,3,4],d=True)

>>> 关键字传参个数是: 2

    kwargs {'age': 15, 'name': 'tarena'}

    关键字传参个数是: 4

    kwargs {'d': True, 'a': 1, 'c': [2, 3, 4], 'b': 'BB'}

 

函数参数说明:

  位置形参,缺省参数,星号元组形参,命名关键字形参,双星号字典形参可以混合使用

函数参数自左至右的顺序为:

1. 位置形参

2. 星号元组形参

3. 命名关键字形参

4. 双星号字典形参

示例:

def fn(a,b,*args,c,**kwargs):

    print(a,b,args,c,kwargs)

fn(100,200,300,400,*'AB', **{'d':'D'},c=100)

>>>100 200 (300, 400, 'A', 'B') 100 {'d': 'D'}

 

可以接收任意位置传参和关键字传参的函数:

  def fn(*args,**kwargs)

      pass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值