目录
什么是函数
函数定义
函数的文档说明
局部变量和全局变量
综合案例:模拟实现ATM界面
什么是函数
函数是组织好的,可重复使用的,用于实现特定功能的代码段,将功能封装在函数内,可供随时随地重复利用,提高代码的复用性,减少重复代码,提高开发效率。
函数定义
函数定义的一般格式为
通过def这个关键字来作为定义函数的标识,return是需要缩进的。
注:① 参数如不需要,可以省略
② 返回值如不需要,可以省略
③ 函数必须先定义后使用
比如我们要自定义一个用来计算字符串长度的函数,代码如下
运行结果为字符串hello的长度为5
如果函数没有使用return返回数据,仍然有返回值,其返回值是一个特殊的字面量None,类型是NoneType类型。None在作为判断条件的时候为假。在定义一些变量的时候如果我们刚上来不知道初始化成什么也可以先初始化成None
函数的文档说明
函数的文档说明就是使用注释对我们自定义的函数进行一系列的说明,比如函数的功能,参数代表的意义,既然是注释,理论上来说我们怎么写都可以,但是Python中提供了一种比较规范的写法,当我们输入多行注释的操作:三个引号之后,就会自动出现这样的一个格式
我们便可以对应的输入注释了
局部变量和全局变量
在某个函数内部定义的变量被称为局部变量,这个变量的作用域就是他所在的函数内部,出了这个函数这个变量也就不复存在,自然也就无法访问到这个变量。
全局变量就是在函数外边定义的变量,全局变量既可以在函数外部访问,也可以在函数内部访问,但是要注意,直接在函数内部对全局变量进行赋值是不会改变全局变量的值的。比如有这样的代码
num是一个全局变量,在func1函数中打印了num的值,然后再func2函数中看起来是改变了num的值,然后打印了,最后在函数外边再次打印num的值,发现结果居然是20 50 20,也就是说在func2中并没有完成对num值的修改,这是因为局部变量的优先级要高于全局变量,因此编译器认为我们是在func2中新定义了一个名为num的局部变量并给其赋值为50,随后打印,这个局部变量和外边的全局变量除了名字相同之外毫无关系。如果想要在函数内部改变全局变量,应该使用关键字global,global可以让我们在函数内定义的变量变成全局变量。如图
此时的运行结果就变成了20 50 50,意思在func2中先通过golbal num声明num是一个全局变量,之后对这个全局变量进行赋值。不能直接写成global num=50,虽然看起来更加简洁,但是这是语法不允许的。
综合案例:模拟实现ATM界面
要求:
1.程序启动后要求输入客户姓名
2.查询余额、存款、取款后都会返回主菜单
3.存款、取款后,都应显示一下当前余额
4.客户选择退出或输入错误,程序会退出,否则一直运行
下面是部分功能的运行结果