def foo(*args, **kwargs):
print 'args =', args
print 'kwargs = ', kwargs
print '-----------------------'
if __name__ == '__main__':
foo(1, 2, 3, 4)
foo(a=1, b=2, c=3)
foo(1,2,3,4, a=1, b=2, c=3)
foo('a', 1, None, a=1, b='2', c=3)
#foo(1,2,a=1,3)
输出结果
args = (1, 2, 3, 4)
kwargs = {}
-----------------------
args = ()
kwargs = {'a': 1, 'c': 3, 'b': 2}
-----------------------
args = (1, 2, 3, 4)
kwargs = {'a': 1, 'c': 3, 'b': 2}
-----------------------
args = ('a', 1, None)
kwargs = {'a': 1, 'c': 3, 'b': '2'}
-----------------------
最后注释掉的:
SyntaxError: non-keyword arg after keyword arg
本文通过一个具体的Python函数示例,详细解析了位置参数和关键字参数的使用方式,展示了如何传递不同类型的参数,并解释了常见的语法错误。

被折叠的 条评论
为什么被折叠?



