函数定义
def power(x):
return x*x
计算x的n次方
def power(x,n):
s = 1
while n > 0:
n = n-1
s = s*x
return s
默认参数
def add_end(L=[]):
L.append('END')
return L
默认参数必须指向不变对象。
def add_end(L=None)
if L is None:
L=[]
L.append('END')
return L
可变参数
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n*n
return sum
关键字参数
def person(name,age,**kw):
print('name:',name,'age',age,'other',kw)
命名关键字参数
def person(name,age,*,city,job):
print(name,age,city,job)
参数组合顺序:必须参数,默认参数,可变参数,命名关键字参数,关键字参数
*args 是可变参数,args接收的是一个tuple
**kw 是关键字参数,kw接收的是一个dict
递归函数,防止堆栈溢出用尾递归优化
def fac(n):
return fact_iter(n,1)
def fact_iter(num,product)
if num == 1:
return product
return fact_iter(num - 1,num*product)