python 函数

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尾递归优化递归函数

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。