Python拾遗(四)函数

来源:互联网 发布:人工智能的出现证明 编辑:程序博客网 时间:2024/04/29 23:51

python函数

1.函数的定义

函数是实现某一功能的相关代码块。通俗的讲,如果某几行代码或者一个代码块需要重复使用,你就可以考虑将这部分代码封装成一个函数

2.函数语法

def functionname( parameters ):   function_suite   return [expression]

注意:
1. 函数代码块以def开头,后面是函数名和参数,并以冒号结束
2. 代码块需要缩进
3. 如果没有return,默认返回None
4. 所有参数(自变量)在python里都是按照引用传递。如果你在函数里面修改了参数,那么在调用这个函数的函数里,原始的参数也改变了
例子:

def test():    print 'hello world'test()

结果:

hello world

3.函数参数类型

调用函数的时候可以使用的参数类型:必备参数,命名参数,缺省参数,不定长参数

3.1 必备参数

必备参数是指按照声明的顺序和个数传入,这个比较好理解,一般c和java都是这样做的,而且他们更加严格,还会要求类型相同,但是python类型可以不用声明,所以写的时候自己清楚就好

def test(str,year)    print "test by "+str+","+yeartest('loster','2016')

test by loster,2016

3.2 命名参数

命名参数只可以不按照顺序传入参数或者叫做乱序传参数

def test(str,year):    print "test by "+str+","+yeartest(year = "2016",str="loster")

test by loster,2016

3.3 缺省参数

调用函数时,缺省参数的值如果没有传入,则被认为是默认值,前提是有定义默认值。这个在lua中有很多应用,但是lua中默认为null

def test(str,year="2016"):    print "test by "+str+","+yeartest('loster')

3.4 不定长参数

一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数

def test(str,*year):    print yeartest('loster',2016,1,5)

(2016, 1, 5)

4.匿名函数

语法:lambda [arg1 [,arg2,…..argn]]:expression。lambda函数的语法只包含一个语句,例如

sum=lambda a,b:a+b;print sum(10,20)
0 0
原创粉丝点击