标签:python函数
1.函数定义与调用
函数是为了实现特定功能而封装起来的一组语句块,可以被用户调用
使用函数可以降低编程难度,将大问题分解成若干小问题;实现代码重用,函数可被多次调用
格式:
def 函数名(参数列表):
函数体
函数名(参数列表)
y=0为默认参数,不传y值则y=0
def func(x,y=0): print x,y func(1) func(1,2)
>>>
1 0
1 2
>>>
2.局部变量和全局变量
局部变量是函数内部定义,仅在函数内有效
i=‘before‘ def func(): i=‘after‘ print i func() print i
>>>
after
before
>>>
全局变量在函数外部定义,可以被其他程序段调用
函数内部通过global可以强制定义全局变量,当函数调用时全局变量生效
i=‘before‘ def func(): global i i=‘after‘ print i func() print i
>>>
after
after
>>>
3.函数返回值return
可以返回任意数据类型,默认为None
执行完return,函数退出
注意区分return和print
def func(x,y,z): if z==‘+‘: return x+y elif z==‘-‘: return x-y print func(5,2,‘+‘)
>>>
7
>>>
def func(x,y,z): if z==‘+‘: print x+y elif z==‘-‘: print x-y print func(5,2,‘+‘)
>>>
7
None
>>>
4.参数名赋值
def func(x,y,z=0): print x,y,z func(1,2) func(y=22,x=11,z=3)
>>>
1 2 0
11 22 3
>>>
5.字典赋值和冗余参数
def func(name,age): print name,age a={‘name‘:‘zhzhgo‘,‘age‘:25} func(**a)
>>>
zhzhgo 25
>>>
def func(x,*args): print x,args func(1,2,3,4)
>>>
1 (2, 3, 4)
>>>
def func(x,*args,**kw): print x,args,kw func(1,2,3,4) func(1,2,3,4,y=5,z=6)
>>>
1 (2, 3, 4) {}
1 (2, 3, 4) {‘y‘: 5, ‘z‘: 6}
>>>
6.__main__函数
加上if __name__==‘__main__‘:之后被其他程序import的时候就不会被执行了
7.lambda函数(匿名函数)
lambda函数是一种快速单行定义函数的方法,使代码更简洁,避免了不必要的函数体定义
func(x,y):
return x*y
与上面正常函数等价的写法
func=lambda x,y:x*y
举例:阶乘实现
reduce((lambda x,y:x*y),range(1,5))
本文出自 “今日的努力,明日的成功!” 博客,请务必保留此出处http://zhzhgo.blog.51cto.com/10497096/1673943
标签:python函数
原文地址:http://zhzhgo.blog.51cto.com/10497096/1673943