位置参数、*args、默认参数(关键字参数)、**kwargs的返回值数据类型分别是什么

位置参数:函数返回值为一个时,返回值为原始数据类型;返回值为多个参数时,用一个对象进行接收时,返回值为元组,以多个参数接收时,返回为参数的原始数据类型

def func(x,y,z):
    return x,y,z
l = func(1,2,3)
l1,l2,l3 = func(1,2,3)
print(l)
print(l1,l2,l3)

#打印:
(1, 2, 3)
1 2 3

默认参数:函数返回值为一个时,返回值为原始数据类型;返回值为多个参数时,用一个对象进行接收时,返回值为元组,以多个参数接收时,返回为参数的原始数据类型

def func(x='',y='',z=''):
    return x,y,z
l = func(1,2,3)
print(l)
l1,l2,l3 = func(1,2,3)
print(l1,l2,l3)


#打印:
(1, 2, 3)
1 2 3

*args:无论传参多少个,返回值的数据类型始终都是元组,不是原始数据类型

def func(*args):
    return args
l = func(1)
print(l)
l1= func(1,2,3)
print(l1)

#打印
(1,)
(1, 2, 3)

**kwargs:无论传参多少个,返回值的数据类型都是字典,不是原始数据类型

def func(**kwargs):
    return kwargs
l = func(a = 1)
print(l)
l1= func(a = 1,b = 2,c= 3)
print(l1)

#打印
{'a': 1}
{'a': 1, 'b': 2, 'c': 3}

 

posted @ 2019-08-13 20:18  aikell  阅读(879)  评论(0编辑  收藏  举报