标签:
1.定义函数
def max(x,y):
if x>y:
return x
else:
return y
如果定义空函数(函数还没想好怎么编写,只是为了让整个代码能够运行起来)
def max(x,y):
pass
2.函数的参数
2.1可变参数
顾名思义参数是可变的,既可以是1个参数,也可以是多个参数
例:请计算a^2+ b^2 + c^2 + ……,其中a,b,c.....个数不确定,所以我们将参数用一个list或tuple传进去
def calc(numbers):
sum =0
for i in numbers:
sum = sum + i*i
return sum
调用时
calc([1,2,3]) #list作为输入,输出为14
calc((1,2,4)) #tuple作为输入,输出为21
如果想将list或者tuple的参数,改为可变参数,代码如下:
def calc(*numbers): #只需要在numbers前面加*
sum =0
for i in numbers:
sum = sum + i*i
return sum
调用时 calc(1,2,3) #输出14
与前面的定义只是多了个*,可变参数numbers在函数内封装成tuple类型。
也可以先组建一个list,num=[1,9,10,4] ,再把list参数作为可变参数传进去,此时运用可变参数调用时,需要这么写 calc(num[0],num[1],num[2],num[3])
2.2关键字参数
关键字参数,在函数内部封装成dict类型,定义时会用**标记
例如:
def one(name,sex,**kw):
print ‘name:‘,name,‘sex:‘,sex,‘other:‘,kw # , 表示输出一个空格,注:python的单引号与双引号使用没什么区别。
小技巧:str=‘my name is "boy" ‘ 或者 str="my name is ‘boy‘ "
调用时:
one(Tom,boy,city=‘beijing‘) 输出为name: Tom sex: boy others: {‘city‘:‘beijing‘}
one(Tom,boy,city=‘beijing‘,job=‘teacher‘) 输出 name: Tom sex: boy others: {‘city‘:‘beijing‘,‘job‘:‘teacher‘}
和可变参数类似,也可以先组建一个dict,再把dict转换为关键字参数传进去,例:
dict={}
2.3参数组合
3.递归函数
3.1递归举例
3.2尾递归优化递归函数
标签:
原文地址:http://www.cnblogs.com/likailiche/p/4352198.html