python函数不定参数求和

#  先来看python函数定参数求和
def dup1(m ,n ,l):
	total = 0
	total = m + n + l
	return total
print(dup1(4 ,6 ,8))
#打印 10 
#此时会发现参数不可变不是很好,没有很好的的拓展性。如在增加参数则无能为力,需要重新修改代码。

Python函数的参数形式包括必选参数、默认参数、可变参数、命名关键字参数以及关键字参数。

 

 

在函数定义时,设计可变数量参数,在参数前增加 * 号。注意:带有 * 号的可变参数只能出现在参数列表的最后。

当调用时这些参数被当作元组类型传递到函数当中。

#函数补丁参数求和
def dup(a ,*lst): for item in lst: a += item return a print(dup(1 ,3 ,5))

#探讨 lst 的类型
def dup(a ,*lst):
  print(type(lst))
dup(1 ,3 ,5)
# 打印
#将上述功能再次完善,增加用户输入
#接受用户输入调用函数
def dup(*lst): a = 0 for item in lst: a += item return a x =input("please ").split() # split默认使用空格隔开 lst = [] for item in x: lst.append(int(item)) print(dup(*lst))

dup()函数定义了可变参数 lst 在调用时将输入的输入当作元组传递给函数中 lst 累加后输出

 

在定义函数时,如果有些参数存在默认值,即部分参数不一定需要调用程序输入,

可以在定义函数时直接为这些参数指定默认值,当函数被调用时,如果没有传入对应的参数值,

则使用函数定义时的默认值代替

def dd(str ,time = 2):
  print(str * time)
print(dd("abcdef"))

# 打印 abcdefabcdef

 

def dd(str ,time = 2):
print(str * time)
print(dd("abcdef" ,1))

#打印 abcdef

 
  

你可能感兴趣的:(python函数不定参数求和)