Python函数高级特性与应用详解
1. 计算最小值函数的实现
在Python编程中,有时我们需要编写一个函数来计算任意数量参数和任意对象数据类型中的最小值。这个函数应能接受零个或多个参数,并且适用于各种Python对象类型,如数字、字符串、列表、字典列表、文件,甚至是 None
。
为了实现这个功能,我们可以利用Python的 *
特性将参数收集到一个元组中,然后使用简单的 for
循环逐个遍历。由于所有对象类型都支持比较操作,我们无需针对每种类型专门编写函数,只需直接比较对象,让Python进行正确的比较即可。
下面是三种实现计算最小值的函数代码:
def min1(*args):
res = args[0]
for arg in args[1:]:
if arg < res:
res = arg
return res
def min2(first, *rest):
for arg in rest:
if arg < first:
first = arg
return first
def min3(*args):
tmp = list(args)
# Or, in Python 2.4+: return sorted(args)[0]
tmp.sort()
return tmp[0]
print(min1(3, 4, 1, 2))
prin