L'E

言必虑其所终!

导航

Python学习笔记(十)初识函数

DRY:don`t repeat yourself

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

使用函数:

1,可以降低代码量

2,降低维护成本

3,使程序更容易阅读

 

定义一个函数:

①函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()

②任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

③函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明

④函数内容以冒号起始,并且缩进

⑤return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None

语法:

1 def functionname( parameters ):
2    "函数_文档字符串"
3    function_suite
4    return [expression]

默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的

1 def printme( str ):
2    "打印传入的字符串到标准显示设备上"
3    print str
4    return

函数调用

定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。

这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。

如下实例调用了printme()函数:

1 >>> def p1(st):
2 ...     print(st)
3 ...     return
4 ...
5 >>> p1('my func')
6 my func
7 >>> p1('my func again')
8 my func again

 

return语句

return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,下例便告诉你怎么做:

1 >>> def sum(a1,a2):
2 ...     tot = a1 + a2
3 ...     print('totle is :%s' % tot)
4 ...     return tot
5 ...
6 >>> ttt = sum(1,2)
7 totle is :3
8 >>> ttt
9 3

 

匿名函数

python 使用 lambda 来创建匿名函数

1.lambda只是一个表达式,函数体比def简单很多

2.lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去

3.lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数

4.虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率

1 ##lambda函数的语法只包含一个语句,如下:
2 lambda [arg1 [,arg2,.....argn]]:expression
1 >>> su = lambda s1, s2: s1 * s2
2 >>> print('ldb is : %s' % su(10,20))
3 ldb is : 200
4 >>> print('ldb is : %s' % su(20,20))
5 ldb is : 400

 

posted on 2016-09-07 21:22  L'E  阅读(99)  评论(0编辑  收藏  举报