python-学习笔记:函数参数的使用

参数分形参、实参

  形参:函数定义时括号内的参数

  实参:函数调用时括号内的参数

1、位置参数:指调用的参数个数和顺序必须与定义的参数个数和顺序一致。

示例:

def happy_birthday(name,age):  #name、age形参
    print('祝'+name+'生日快乐')
    print(str(age)+'岁生日快乐')
    
#正确的调用方式
happy_birthday('娟子姐',18)   #'娟子姐'、18实参

#错误的调用方式
#happy_birthday('娟子姐')   #程序报错:参数数量不一致
#happy_birthday(18,'娟子姐')  #程序报错:参数顺序不一致

 2、关键字参数:是函数调用时,使用“形参名称=值”的方式进行传参,传递参数顺序可以与定义时参数的顺序不同。

示例:

def happy_birthday(name,age):
    print('祝'+name+'生日快乐')
    print(str(age)+'岁生日快乐')

#关键字传参正确调用方式
happy_birthday(age=18,name='娟子姐')
happy_birthday('娟子姐',age=18)  #正常执行,位置传参在前,关键字传参在后

#错误调用方式
#happy_birthday(age=18,name1='娟子姐')  #程序报错:形参名称出错
#happy_birthday(name='陈美美',18)   #程序报错:位置传参和关键字传参同时存在时,位置传参在前,关键字传参在后

3、默认值参数:是函数定义时,直接对形式参数进行赋值,在调用时如果该参数不传值,将使用默认值,如果该参数传值,则使用传递的值。

示例:

def happy_birthday(name='娟子姐',age=18):
    print('祝'+name+'生日快乐')
    print(str(age)+'岁生日快乐')
    
    
happy_birthday()   #不传参数,采用默认值参数,输出:祝娟子姐生日快乐、18岁生日快乐
happy_birthday('陈梅梅')  #位置传参,age采用默认值参数。输出:祝陈梅梅生日快乐、18岁生日快乐  
happy_birthday(age=19)   #关键字传参,name采用默认值,输出:祝娟子姐生日快乐、18岁生日快乐

#happy_birthday(19) #程序报错,如果使用位置传参的方式,19被传给了name

4、可变参数:又分为个数可变的位置参数和个数可变的关键字参数两种,其中个数可变的位置参数是在参数前加一颗星(*para) , para形式参数的名称,函数调用时可接收任意个数的实际参数,并放到一个元组中。个数可变的关键字参数是在参数前加两颗星(**para),在函数调用时可接收任意多个“参数=值”形式的参数,并放到一个字典中。

示例:

#个数可变的位置参数
def fun(*para):
    print(type(para))
    for item in para:
        print(item)

#调用
fun(10,20,30,40)
fun(10)
fun(20,30)
fun([11,22,33,44])   #实际上传递的是一个参数(一个列表)
#在调用时,参数前面加一颗星,可分别将列表进行解包
fun(*[11,22,33,44,55])

#字数可变的关键字参数
def fun2(**kwpara):
    print(type(kwpara))
    for key,value in kwpara.items():
        print(key,'-----',value)
#调用
fun2(name='娟子姐',age=19,height=170)   #关键字参数

d={'name':'娟子姐','age':18,'height':170}
#fun2(d)  #TypeError: fun2() takes 0 positional arguments but 1 was given
fun2(**d)   #系列解包操作

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值