在Python函数中如何多类型传值与递归调用-创新互联
1.多类型传值和冗余参数
多类型传值:
延长ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!def fun(x,y):
return x +y
print fun(3,5)
8
print fun(*t)
3
def fun(x,y,z):
return x + y + z
t1 = (1,2,3)
fun(*t1)
6
fun(*(2,4,5))
11
fun(1,*t)
4
print t
(1, 2)
fun(x=1,y=3,z=5)
9
>>> dic = {'x':1,'y':3,'z':6}
>>> fun(**dic)
10
冗余参数:
>>> def fun(x,*args,**kwargs):
... print x
... print args
... print kwargs
...
>>> fun(1)
1
()
{}
>>> fun(1,2)
1
(2,)
{}
>>> fun(1,2,3)
1
(2, 3)
{}
>>> t
(1, 2)
>>> fun(1,2,3,'a',[1,2],*t,a=3,**{'t':11,'p':22})
1
(2, 3, 'a', [1, 2], 1, 2)
{'a': 3, 'p': 22, 't': 11}
2.函数的递归调用
递归的注意事项:
必须有最后的默认结果:
if n == 0
递归参数必须向默认结果收敛的:
factorial(n-1)
阶乘脚本:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Feng Xiaoqing
# jiecheng.py
# ======================
def factorial(n):
sum = 0
for i in range(1,n+1):
sum += i
return sum
print factorial(100)
另外一种方法:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print factorial(5)
求1-100相加的和:
def factorial(n):
if n == 0:
return 0
else:
return n + factorial(n-1)
print factorial(100)
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:在Python函数中如何多类型传值与递归调用-创新互联
文章出自:http://cdiso.cn/article/ccjjcd.html