WEB开发网
开发学院软件开发C语言 从C#到Python:3 函数及函数编程 阅读

从C#到Python:3 函数及函数编程

 2010-09-30 22:42:07 来源:WEB开发网   
核心提示: 输出$ python func_doc.py5 is maximumPrints the maximum of two numbers.The two values must be integers. 在上述函数中,第一个逻辑行的字符串是这个函数的文档字符串,从C#到Python:3 函数及函数

输出

$ python func_doc.py

5 is maximum

Prints the maximum of two numbers.

The two values must be integers.

在上述函数中,第一个逻辑行的字符串是这个函数的文档字符串。文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述,描述对象的调用方法、参数说明、返回值等具体信息。

可以使用__doc__(注意双下划线)调用printMax函数的文档字符串属性(属于函数的名称,请记住Python把每一样东西都作为对象,包括这个函数)。它等同于用Python的内建函数help()读取函数的说明。很多Python的IDE也依赖于函数的文档字符串进行代码的智能提示,因此我们在编写函数时应养成编写文档字符串的习惯。

3.4  函数编程

Python中加入了一些在函数编程语言和Lisp中常见的功能,如匿名函数、高阶函数及列表内涵等,关于最后一个问题我在《2 运算符、表达式和流程控制》已经介绍过了,本章只介绍匿名函数和高阶函数。

3.4.1  匿名函数

lambda函数是匿名函数,用来定义没有名字的函数对象。在Python 中,lambda只能包含表达式:lambda arg1, arg2 ... : expression。lambda 关键字后就是逗号分隔的形参列表,冒号后面是一个表达式,表达式求值的结果为lambda的返回值。

虽然lambda的滥用会严重影响代码可读性,不过在适当的时候使用一下lambda 来减少键盘的敲击还是有其实际意义的,比如做排序的时候,使用data.sort(key=lambda o:o.year)显然比

1 def get_year(o):
2   return o.year
3 func=get_year(o)
4 data.sort(key=func)

要方便许多。(引自《可爱的Python》)

上一页  1 2 3 4 5 6 7  下一页

Tags:Python 函数 函数

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接