建立函数-defpython
函数是能够调用的(能够包含参数),它封装了逻辑处理的具体细节。app
例如,根据用户输入建立一个斐波拉契数列(任意数字都是前两个数字的和)函数
def fib(num): fib=[0,1] for i in range(num): fib.append(fib[-2]+fib[-1]) return fib tem=input('input the number:') res=fib(int(tem)) print res
在调用函数传递参数的时候,要注意参数是值传递仍是引用传递,当参数以值传递传入函数的时候,函数内部对传入值的变动不会影响函数外的值;当参数以引用形式传入函数的时候,函数内部对该引用的数据变动会影响函数外的引用数据spa
关键字参数
code
在定义函数的时候能够指定参数的默认值,那么在调用函数时就不须要传递参数了
input
def hell(greet='hello', name='world!'): print greet+", "+name hell(name='lisi') #参数混合传入的时候,默认参数必须写在后面 hell('HELLO',name='lisi')
定义可变参数函数(方法)it
有时候函数(方法)的输入参数数量是可变的,便可变参数,经过参数列表的‘*’号标记可将参数转为元组,经过‘**’号标记可将参数转为字典class
#输入可变参数定义在后面params元组中------将元素转为元组 def params1(title,*params): print title print params #位置参数传入 params1('names','lisi','wangwu','zhaoliu') #关键字参数传入,会被转成字典params--------将元素转为字典 def params2(names,**params): print names print params params2(names='lisi',x=1,y=2,z=3)
计算N的阶乘引用
#计算N的阶乘 def cal(n): if n==1: return 1 return n*cal(n-1) print cal(1)
计算一个数的幂方法
#计算一个数的幂 def pow(x,n): if n==1: return x return x*pow(x,n-1) print pow(2, 4)