1. 引入
复制代码代码示例:
>>> def f(x): ... print x ... >>> f(123) 123 >>> f('hello') hello >>> f(range(3)) [0, 1, 2] >>> f( (1,2,3) ) (1, 2, 3) >>> f( {1:'a', 2:'b'} ) {1: 'a', 2: 'b'}
2. 格式化输出
复制代码代码示例:
>>> print "%s" %s >>> print "%s" % "abc" abc >>> print "%s, %s" % ("a", "b") a, b
3. 用 元组的元素 给 每个 形参 赋值
3.1 error复制代码代码示例:
>>> def f(arg1, arg2) : ... print arg1, arg2 ... >>> t = ('a', 'b') >>> f(t) Traceback (most recent call last): File "", line 1, in TypeError: f() takes exactly 2 arguments (1 given)
3.2 正确
复制代码代码示例:
------------------------ def f(arg1, arg2) : print arg1, arg2 print "%s, %s" % (arg1, arg2) t = (1, 2) f(*t)-------output---------- 1 2 1, 2
4. 用 字典的元素 给 每个 形参 赋值
复制代码代码示例:
------------------------ def f(arg1, arg2) : print arg1, arg2 d = {"arg2":"value2" , "arg1":"value1"} f(*d) f(**d)-------output---------- arg1 arg2 value1 value2
5. 处理多余实参
5.1 以 元组 处理 冗余参数
复制代码代码示例:
------------------------ def f(x, *args) : print "x =", x print "args =", args f(1) f(1,2) f(1,2,3)-------output---------- x = 1 args = () x = 1 args = (2,) x = 1 args = (2, 3)
5.2 以 元组+字典 处理 冗余参数
复制代码代码示例:
------------------------ def f(x, *args, **kwargs) : print "x =", x print "args =", args print "kwargs =", kwargs f(1) f(1, 2) f(1, 2, z = 3) # f(x = 1, 2, z = 3) # error f(x = 1, y = 2, z = 3)-------output---------- x = 1 args = () kwargs = {} x = 1 args = (2,) kwargs = {} x = 1 args = (2,) kwargs = {'z': 3} x = 1 args = () kwargs = {'y': 2, 'z': 3}
http://www.jbxue.com/article/12891.html