Python之函数与变量

函数介绍及其作用

函数的定义与调用

函数的参数说明

全局变量与局部变量

值传递和引用传递

一、函数的介绍及其作用

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

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

二、函数的定义与调用 1. 函数的定义

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

Python中定义函数的规则:

函数代码块以def关键字开头,后接函数标识符(函数名称)和圆括号();

函数名称以数字、小写字母和下划线组成并且不能以数字开头;

圆括号中可用于定义可接收的参数;

函数内容以圆括号()之后的冒号换行后起始,并且缩进;

函数的第一行通常用于写一个字符串--函数使用方式、参数说明等文档信息

函数中可以用return关键字返回一个值给函数调用方--return [表达式],如果不写return相当于返回None。

说明: 函数名称可以使用大写字母,但是不符合PEP8规范;另外Python3中函数名可以使用中文,但是还是不要给自己找麻烦为好。另外return语句不一定要写在函数末尾,而可以写在函数体的任意位置。return语句代表着函数的结束,函数在执行过程中只要遇到return语句,就会停止执行并返回结果。

Python中定义函数的语法: def 函数名称( 参数 ): """ 函数使用说明、参数介绍等文档信息 """ 代码块 return [表达式] 实例: 写一个求和函数 def add(a, b): """ 计算并返回两个数的和 a: 被加数 b: 加数 """ c = a + b return c

通常写成这个样子:

def add(a, b): """ 计算并返回两个数的和 a: 被加数 b: 加数 """ return a + b 2. 函数的调用

Python中函数的调用方式与其他大部分编程语言都一样(其实我目前使用过的编程语言当中,只有shell是个另类;好吧,其实它只是个脚本语言):函数名(参数)

def add(a, b): """ 计算并返回两个数的和 a: 被加数 b: 加数 """ return a + b sum = add(1, 9) 三、函数的参数说明

先来说下形参和实参的概念:

形参:即形式参数,函数定义时指定的可以接受的参数即为形参,比如上面定义的add(a, b)函数中的a和b就是形参;

实参:即实际参数,调用函数时传递给函数参数的实际值即为实参,比如上面都用add(1, 9)函数中的1和9就是实参;

重点需要说下函数的各种不同种类的参数。函数的参数可以分为以下几种:

位置参数

默认参数

关键字参数

可变(长)参数

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/82f73b1a8d40a964c0644454c0bfacb8.html