码迷,mamicode.com
首页 > 编程语言 > 详细

Python参数组合

时间:2016-08-01 12:04:40      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

参数定义的顺序必须是:①必选参数、②默认参数、③可选参数、④命名关键字参数、⑤关键字参数

1 #a,b为必选参数;c为默认参数;args为可变参数;kw为关键字参数
2 def f1(a,b,c=0,*args,**kw):
3     print(a=,b=,b,c=,args=,args,kw=,kw)
4 
5 #参数定义的顺序必须是:必选参数、默认参数、可选参数、命名关键字参数、关键字参数
6 def f2(a,b,c=0,*,d,**kw):
7     print(a=,b=,b,c=,d=,d,kw=,kw)

 调用

f1(1,2)
f1(1,2,3)
f1(1,2,c=3)
f1(1,2,3,a,b)
f1(1,2,3,a,b,x=99,y=88,z=77,t=100)
f2(1, 2, city=Shanghai, ext=None)

调用结果

a= 1 b= 2 c= 0 args= () kw= {}
a= 1 b= 2 c= 3 args= () kw= {}
a= 1 b= 2 c= 3 args= () kw= {}
a= 1 b= 2 c= 3 args= (a, b) kw= {}
a= 1 b= 2 c= 3 args= (a, b) kw= {x: 99, y: 88, z: 77, t: 100}
a= 1 b= 2 c= 0 city= Shanghai kw= {ext: None}

 以list或dict参数传入

args=(1,2,3,4)
kw={Nation:China,City:Shanghai}
f1(*args,**kw)

args=(1,2,3)
kw={y:33,city:Shanghai}
f2(*args,**kw)

结果

a= 1 b= 2 c= 3 args= (4,) kw= {City: Shanghai, Nation: China}
a= 1 b= 2 c= 3 city= Shanghai kw= {y: 33}

所以,对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。

 

Python参数组合

标签:

原文地址:http://www.cnblogs.com/frankyou/p/5724957.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!