函数执行特定的操作并返回一个值,你可以调用它(调用时可能需要提供一些参数——放在圆括号中的内容)。一般而言,要判断某个对象是否可调用,可使用内置函数callable。
>>> import math
>>> x = 1
>>> y = math.sqrt
>>> callable(x)
False
>>> callable(y)
True
函数是结构化编程的核心。那么如何定义函数呢?使用def(表示定义函数)语句。
def hello(name):
return 'Hello, ' + name + '!'
运行这些代码后,将有一个名为hello的新函数。它返回一个字符串,其中包含向唯一参数指定的人发出的问候语。你可像使用内置函数那样使用这个函数。
>>> print(hello('world'))
Hello, world!
>>> print(hello('Gumby'))
Hello, Gumby!
如果编写一个函数,返回一个由斐波那契数组成的列表呢?很容易!只需使用前面介绍的代码,但不从用户那里读取数字,而是通过参数来获取。
def fibs(num):
result = [0, 1]
for i in range(num-2):
result.append(result[-2] + result[-1])
return result
执行这些代码后,解释器就知道如何计算斐波那契数了。现在你不用再关心这些细节,而只需调用函数fibs。
>>> fibs(10)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
>>> fibs(15)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]
在这个示例中,num和result也可以使用其他名字,但return语句非常重要。return语句用于从函数返回值(在前面的hello函数中,return语句的作用也是一样的)
|