日度归档:2011 年 07 月 12 日

Python可变参数与标准输出的重定位

使用Python的内置函数print支持可变参数,也就是说,print的调用参数是不固定的。例如:

# 一个参数
print "Hello China!"
# 两个参数
print "Your name is", name
# 三个参数
print "The number of", what, "is", count, "!"

在Python里使用*和**来设置可变参数,它们的区别是*传递一个参数列表(准确来说是参数元组),**传递一个参数字典。二者可以同时混合使用。

>>> def printArgs(*argList, **argDict):
...     print "argList =", argList, ", argDict =", argDict
... 
>>> printArgs("The end of the world is", 2012, lastMan = "Xiaoxia")
argList = ('The end of the world is', 2012) , argDict = {'lastMan': 'Xiaoxia'}

下面举一个例子来模仿print的实现,
继续阅读