python可变参数

代码:

root@linux:/study/python# cat maxi.py 
#!/usr/bin/python

def our_max(*values):

	if not values:
		return None
	m = values[0]
	for v in values[1:]:
		if v > m:
			m = v
	return m

print "our_max(1):", our_max(1)
print "our_max(1,2):", our_max(1,2)
print "our_max(1,2,3):", our_max(1,2,3)

执行结果:

root@linux:/study/python# ./maxi.py 
our_max(1): 1
our_max(1,2): 2
our_max(1,2,3): 3


说明:

(1)*values中的“*”号代表将所有参数做成一个元组,比如参数为(1),则相当于(1);参数为(1,2)则(*values)相当于(1,2)

(2)可以只有部分参数为可变参数:

def append_all(old, *new):
	for n in new:
		old.append(n)
	return old

values = []
print "append_all(values,1,2,3):", append_all(values, 1, 2, 3)

执行结果:

append_all(values,1,2,3): [1, 2, 3]

注意:不允许有两个及两个以上可变参数!


你可能感兴趣的:(python可变参数)