购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.3 函数

在实际编程中,会有一段程序经常用到的情况,如果每次都重新写这段程序会很浪费时间,可以把这部分程序事先存储起来,以后需要时直接调用即可。函数就实现了这样的功能,它是一段组织好的、用来实现某些功能的代码段,可重复使用。函数能提高应用的模块性和代码的重复利用率。

函数一般包括系统内置的函数和自定义函数。

Python的内置函数有很多,如前面用到的print函数,常见的内置函数根据功能的不同,大致可分为数学运算类、字符串处理类、类型转换类、序列处理类等,本书重点在于机器学习和数据处理,对内置函数就不再详细陈述,读者可以查找联机文档了解Python的内置函数。下面介绍Python的自定义函数的使用方法。

自定义函数的基本语法格式如下。

    def 函数名(参数列表):
      函数体
      return [表达式]

说明:

函数代码块以def关键词开头,后接函数标识符名称和小括号(()),后面再跟一个冒号(:)。

小括号用于定义参数,可以不包含参数,如果包含多个参数,参数之间以逗号分隔。函数内容缩进。

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

下面来看几个实例。

【实例4-7】建立一个自定义函数,将要打印的内容传递给函数,在函数体内打印传递来的内容。

函数定义如下:

    def myprint(str):
      print(str)

上面的函数代码体中只有一条语句,函数名称为“myprint”,输入参数命名为“str”,用于接收外部传来的内容,函数体中使用打印函数来打印外部传送来的字符。

函数的调用:函数调用的方法就是直接写出自定义的函数名就可以,如果有参数,直接提供参数,另外这个实例最后没有return语句,就是不需要返回任何值。

函数定义及调用如下图所示。

【实例4-8】定义一个函数,输入长和宽,在函数中计算矩形的面积。

    def area(height, width):
      return height*width

上面的函数使用return把计算结果返回,调用这个函数时需要提供长和宽。程序运行结果如下图所示。

【实例4-9】建立一个数字比较函数,并比较输入数字。

分析:这个自定义函数用于实现数字比较,因此应有两个输入参数,在函数体中,使用条件语句判断两个参数的大小,并输出结果,程序代码如下。

    def compare(num1, num2):
      if num1 > num2:
        print("%s大于%s" % (num1, num2))
      elif num2 > num1:
        print("%s大于%s" % (num2, num1))
      else:
        print("%s等于%s" % (num1, num2))

这个函数相较前面几个函数来说更为复杂,其中使用条件语句,根据输入的两个参数判断大小并显示结果。

这个函数的调用和其他函数的调用一样,使用函数名,并提供参数。例如:

    compare(3,5)
    compare(6,5)

程序运行结果如下图所示。

当然,自定义函数在使用时,还涉及许多细节,如全局变量和局部变量。函数调用时参数也有多种情况,这些本书不再详细阐述。 xTbkhfQIz5kuO0xebQrg2mc0pA1mV2XZlPtHuDhlCCLZcCVoTKiWx2atPJ4FW+Xa

点击中间区域
呼出菜单
上一章
目录
下一章
×