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

文章目录

    • 一.参数的作用
    • 二.参数的分类
      • 1.必选参数
      • 2.默认参数【省缺参数】
      • 3.可选参数
      • 4.关键字参数
    • 三.可变参数与关键字参数混合使用

一.参数的作用

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

二.参数的分类

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': '张飞'}

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

你可能感兴趣的:(Python,函数参数的分类,Python3.0)