函数参数有4种:
必填参数:填入规定数量的参数,不能多,也不能少。
默认参数:把某位参数设置为默认值,这样在不输入的情况下,按默认值传递;即此参数可以不输入。
可变参数:参数可以任意给多少个都行。 习惯使用*args表示;*arg传入的是tuple。
关键字参数:= 默认参数 + 可变参数。 习惯使用**kw表示;**kw传入的是dict。
一、必填参数
def cal(x, y):
t = x + y;
return t;
二、默认参数
def cal(x, y = 0):
t = x + y ;
return t;
三、可变参数
#once way
def cal(number) #number 为list / tuple ---> cal([1, 2, 3, 4])
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
#twice way
tup = set(1, 2, 3)
def cal(*number) #number 为tuple ---> cal(tup)
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
#other way
tup = set(1, 2, 3)
def cal(*number) #number 为tuple ---> cal(tup[0], tup[1], tup[2])
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
四、关键字参数
#once way
def person(name, age, **kw)
print "name:%s"%name, print "age:",age, print "other:" kw
也可以传入任意个数的关键字参数:
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
先组装出一个dict,然后,把该dict转换为关键字参数传进去:
>>> kw = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, city=kw['city'], job=kw['job'])
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
简化的写法:
>>> kw = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, **kw)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
五、组合
组合顺序:必填参数、可选参数、可变参数、关键字参数
def func(a, b, c=0, *args, **kw):
print 'a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw
>>> func(1, 2) a = 1 b = 2 c = 0 args = () kw = {}
>>> func(1, 2, 3, 'a', 'b', x=99) a = 1 b = 2 c = 3 args = ('a', 'b') kw = {'x': 99}>>> args = (1, 2, 3, 4)
>>> kw = {'x': 99}
>>> func(*args, **kw)
a = 1 b = 2 c = 3 args = (4,) kw = {'x': 99}
程序参考于https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页名称:python函数参数-创新互联
路径分享:https://www.cdcxhl.com/article30/dhcipo.html
成都网站建设公司_创新互联,为您提供软件开发、动态网站、网站设计公司、网站制作、关键词优化、电子商务
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联