文章目录
不定长参数定义与注意点
有一类函数,在定义时无法确定在调用时会传入多少个实参,在这种情况下使用一种特殊的标记:
- *(一个星号):存放所有的未命名的参数,全部存放在这一个变量中
- 输入的数据类型为元组
- **(两个星号):存放命名的参数
- 输入的数据类型为字典
实验一:* 未命名的不定长参数
def numberadd(*args):
print(type(args)) # 用于调用此函数时,这种未命名的参数的数据类型
numbersum = 0
for i in args:
numbersum += i
print(numbersum)
numberadd(1,2,3,4,5,6,7,8,9,10)
numberadd(1,2,3,4,6,7,8,9,10)
"""
<class 'tuple'>
55
<class 'tuple'>
50
"""
实验一:** 命名的不定长参数
def profile(**args):
print(type(args))
print(args)
print("分割符".center(50,"*"))
for i in args:
print("%s:%s"%(i,args[i]))
profile(name="Elon Musk",age="35",company="Tesla",)
"""
<class 'dict'>
{'name': 'Elon Musk', 'age': '35', 'company': 'Tesla'}
***********************分割符************************
name:Elon Musk
age:35
company:Tesla
"""
实验三:另一种传参数的方式function(*(1,2,3,4,5));functions(**{“name”:“Elon Musk”,“Age”:“35”})
def function(*args):
print(args)
function(*(1,2,3,4,5))
def functions(**Test):
print(Test)
functions(**{"name":"Elon Musk","Age":"35"})
"""
(1, 2, 3, 4, 5)
{'name': 'Elon Musk', 'Age': '35'}
"""