Python 函数参数的分类及使用方法

一.参数的作用

    为了得到外部的数据,进而实现特定的功能

二.参数的分类

1.必选参数

必选的意思是,有几个参数就传递几个参数,否则报错

#正确的代码
def sum(a,b):
    sum = a+b
    print(sum)
    pass
pass
sum(10,20)

#结果
30
#错误的代码
def sum(a,b):
    sum = a+b
    print(sum)
    pass
pass
sum(10)

#报错如下:
TypeError: sum() missing 1 required positional argument: 'b'

2.默认参数【省缺参数】

(1)在调用函数时,如果未传递参数,就会使用定义函数时给定的值

#代码
def sum(a=3,b=2):
    sum = a+b
    print(sum)
    pass
pass

sum(10)

#结果
12

#讲解
10传递给了a。b使用默认值2来做相加运算10+2=12

(2)默认参数的值必须放到参数列表中的后面

#错误代码
def sum(a=3,b):
    sum = a+b
    print(sum)
    pass
pass

sum(10)

#报错
SyntaxError: non-default argument follows default argument
#正确代码
def sum(a,b=2):
    sum = a+b
    print(sum)
    pass
pass

sum(10)

#结果
12

3.可选参数

当参数的数目不确定时,使用可选参数,使用方法如下

def sum(*args):
    result = 0
    for item in args:
        result+= item
        pass
    print(result)
    pass
pass

sum(10,20)

#结果
30

4.关键字参数

(1)参数的关键字是一个字典类型,使用方法有三种如下:

#方法一
def keyFunction(**kwargs):
    print(kwargs)
    pass
pass

#调用函数
keyFunction(name = '张飞',age=20)

#结果
{'name': '张飞', 'age': 20}
#方法二:
def keyFunction(**kwargs):
    print(kwargs)
    pass
pass

dictA = {'name':'张飞','age':20}

#调用函数
keyFunction(**dictA)#这里必须加上**,要不就会报错

#结果
{'name': '张飞', 'age': 20}
#方法三:
def keyFunction(**kwargs):
    print(kwargs)
    pass
pass

dictA = {'name':'张飞','age':20}

#调用函数
keyFunction()#不加参数也可以

#结果
{}

三.可变参数与关键字参数混合使用

1.使用情况一:

#args是元组类型,kwargs是字典类型
def complex(*args,**kwargs):
    print(args)
    print(kwargs)
    pass
pass

complex(1,2,3)

#结果
(1, 2, 3)
{}

2.使用情况二:

def complex(*args,**kwargs):
    print(args)
    print(kwargs)
    pass
pass

complex(1,2,3,name='张飞')

#结果
(1, 2, 3)
{'name': '张飞'}

3.使用情况三:

def complex(*args,**kwargs):
    print(args)
    print(kwargs)
    pass
pass

complex(name='张飞')

#结果
()
{'name': '张飞'}

注意事项:可变参数必须放于关键字参数之前,否则会报语法错误

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁同学与Android

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值