一、函数的介绍及其作用


编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有相应的结果(输出)。编程语言中的函数有输入,不一定会返回结果。编程语言中的函数其实就是一个用于完成某个特定功能的相关代码的代码段 。那么哪些代码语句应该被整合到一起定义为一个函数呢?这取决于你想让这个函数完成的功能是什么。

为什么要将这个代码段定义成一个函数呢?这其实就是函数的作用。假设我们在编写一个可供用户选择的菜单程序,程序启动时需要打印一遍菜单列表,而且程序运行过程中用户也可以随时打印菜单列表,也就是说打印菜单列表的代码段可能要多次被用到,假设每次打印的菜单列表都是一样的,而且列表很长,那么我们是否应该每次在需要打印菜单的时候重复执行相同的代码呢?那么当我们需要增加或者减少一个菜单项时怎么办呢?显然我们需要在每个打印菜单的代码点都进行修改。如果我们把打印菜单的相关代码拿出来定义为一个函数,又会出现这样的场景呢?我们只需要在需要打印菜单列表的地方使用这个函数;当需要添加或减少一个菜单项时,只需要修改这个函数中的内容即可,程序的维护和扩展成本大大降低;同时,我们这个程序的代码会更加简洁,而且有条理性更加便于阅读,而不是一坨乱糟糟的让人看着就想重写的东西。当然,如果你要打印的是多级菜单,你可以通过函数的参数或全部变量通知该函数要打印的是几级菜单。总结一下,编程语言中的函数的作用就是实现代码的可重用性,提高代码可维护性、扩展性和可读性

二、函数的定义与调用


1. 函数的定义

高级编程语言通常会提供很多内置的函数来屏蔽底层差异,向上暴露一些通用的接口,比如我们之前用到的print()函数和open()函数。除此之外,我们也可以自定义我们需要的函数。由于函数本身也是程序代码的一部分,因此为了标识出这段代码是一个函数通常需要使用特定的格式或关键字。另外还涉及到参数、方法名称、返回值等相关问题的约束。

Python中定义函数的规则: