Python 函数

在程序设计过程中,我们可能遇到重复编码实现某些功能的情况。比如我们在编程过程中,我们要某个地方要实现求两个数的和的功能,在另外一个地方还会用到,对于这些重复的代码段,我们可以将其提炼,封装为一个函数:

# -*-coding:utf-8 -*-
__author__ = 'zhaixue.cc'
def sum_add(a, b):
    return a + b
s = sum_add(3,7)
print s

其中def为关键字,后面为函数的标示符名称,后面是一个括号,里面可以传递我们的参数,最后以一个冒号结束。接下来采用一个缩进代码块就是函数体。
其中与C语言等静态编程语言不同之处在于:def是一个可执行的语句,函数并不存在,直到Python运行了def后才存在。首先def会创建一个对象并将其赋值给我们定义的函数变量名sum_add,这样函数名sum_add就变成了这个函数的引用,跟上一章的变量赋值类似,函数对象也可以赋值给其它的变量,增加一个对该函数对象的引用。我们通过一个例子:

# -*-coding:utf-8 -*-
__author__ = 'zhaixue.cc'
def sum_add(a, b):
    return a+b
another_var  = sum_add
s = another_var(3,7)
print s

我们可以看到,两个程序的函数运行结果是相同的:

C:\Python27\python.exe F:/python/python_proj/base.py
10
Process finished with exit code 0

通过函数,我们可以在编程过程中对于重复使用的代码不再不断地拷贝粘贴,可以实现最大化的代码重用,大大减少工作量。通过函数,我们可以将一个功能系统分隔不同的部分去实现,简化代码的组织逻辑和实现。而且,这个功能如果需要修改完善,只需要修改这个函数就可以了,不用修改所有的代码。

在函数的最后,通过return语句将一个结果返回给调用者,返回值成为函数调用的结果。同时将控制权返还给调用者。在一个函数中,可以返回多个值,返回的值的类型是元组。

# -*-coding:utf-8 -*-
__author__ = 'zhaixue.cc'
def myfunc(a, b, c):
    return a, b, c, b+c
s = myfunc(1,2,3)
print s

运行结果:

C:\Python27\python.exe F:/python/python_proj/base.py
(1, 2, 3, 5)
Process finished with exit code 0
《Linux三剑客》视频教程,从零开始快速掌握Linux开发常用的工具:Git、Makefile、vim、autotools、debug,免费赠送C语言视频教程,C语言项目实战:学生成绩管理系统。详情请点击淘宝链接:Linux三剑客