Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

Think Python : 3.5 添加新函数

$
0
0

目前为止,我们只是在使用python提供的函数,但添加新函数也是有可能的。 函数定义 详细说明了一个新函数的名称和当函数被调用时将运行的一系列语句。

这是一个例子:

def print_lyrics(): print "I'm a lumberjack, and I'm okay." print "I sleep all night and I work all day."

def是一个关键字,它指出这是一个函数定义。函数的名称是print_lyrics。对函数名称的要求和对变量名称的要求相同:字母,数据和一些标点符号是合法的,但第一个字符不能是数字。你不能使用一个关键字作为函数的名称,并且你应该避免变量和函数具有相同的名称。

函数名后的空圆括号指出这个函数不接收任何参数(arguments)。

函数定义的第一行被叫作 函数头 (header),剩余的部分被叫作 函数体 (body)。函数头必须以一个冒号结尾,并且函数体必须缩进。按照惯例,缩进总是4个空格(另见3.14)。函数体可以包含许多语句。

打印语句中的字符串被双引号包围。单引号和双引号做着相同的事。除了单引号(也称为撇号)出现在字符串中的情况,大多数人都使用单引号。

如果你在交互模式中键入一个函数定义,解释器打印省略号(...)以使你知道函数定义是不完整的:

>>> def print_lyrics(): ... print "I'm a lumberjack, and I'm okay." ... print "I sleep all night and I work all day." ...

为了结束函数,你必须输入一个空行(在脚本中这不是必须的)。

定义的函数创建了一个具有相同名字的变量。

>>> print print_lyrics <function print_lyrics at 0xb7e99e9c> >>> type(print_lyrics) <type 'function'>

变量print_lyrics的值是一个函数对象,它具有函数类型。

调用这个新函数的语法和调用内置函数的语法相同:

>>> print_lyrics() I'm a lumberjack, and I'm okay. I sleep all night and I work all day.

一旦你定义了一个函数,你就可以在另一个函数中使用它。例如,为了重复之前的副歌,我们可以写一个叫作repeat_lyrics的函数:

def repeat_lyrics(): print_lyrics() print_lyrics()

然后调用函数repeat_lyrics:

>>> repeat_lyrics() I'm a lumberjack, and I'm okay. I sleep all night and I work all day. I'm a lumberjack, and I'm okay. I sleep all night and I work all day.

但是这首歌并不是真的这么唱。


Viewing all articles
Browse latest Browse all 9596

Trending Articles