通过上一章节的学习,我们已经能够利用给定的条件计算出连续12个月的折旧了,但是,如果我想要使这个算法能作用到另外一个固定资产,却发现不得复制一下,并且修改资产原值、折旧年限等等变量赋值。那么有没有更便捷的方法呢?本章我们将用python函数来解决这个问题。

内置函数

含义

函数是组织好的,可重复使用的用来实现单一,或相关联功能的代码段;

函数能提高应用的模块性,和代码的重复利用率;

Python提供了许多内置函数,比如print(),input(),round()等。

自定义函数

含义用一些符号代替变量赋值,等到使用这个算法的时候再把具体的变量金额填充进去,那么就能改成一个通用的算法,这个过程就叫自定义函数。代替变量叫形参,使用算法叫调用参数,调用函数时填充的具体金额叫实参 。

语法

def函数名(形参): #形参根据需求设置,可有可无,也可设置多个形参

#注意冒号及语句缩进

return 表达式 #return语句不写时,没有返回值

函数名(实参)#调用函数

参数

调用函数时是可以传递参数的,以下是函数调用时可使用的参数类型:位置参数:位置参数就是将对应位置的实参传递给对应位置的形参。

关键字参数:关键字参数,可以不按照形参定义的顺序去传递,而直接根据参数名去传递参数。

默认参数:定义形参时,可以为形参指定默认值。调用函数时,如果参数的值没有传入,则被认为是默认值,如果用户传递了参数,则默认值没有任何作用。

不定长参数:在定义函数时,可以在形参前边加上一个*,这样这个形参将会获取到不定长的实参。

参数组合:在Python中定义函数,可以用位置参数、默认参数、关键字参数、可变参数,这4种参数都可以组合使用。

作用域

在Python中一共有两种作用域:

全局作用域全局作用域在程序执行时创建,在程序执行结束时销毁

所有函数以外的区域都是全局作用域

在全局作用域中定义的变量,都属于全局变量,全局变量可以在程序的任意位置被访问

函数作用域函数作用域在函数调用时创建,在调用结束时销毁

函数每调用一次就会产生一个新的函数作用域

在函数作用域中定义的变量,都是局部变量,它只能在函数内部被访问

变量的查找当我们使用变量时,会优先在当前作用域中寻找该变量,如果有则使用

如果没有则继续去上一级作用域中寻找,如果有则使用

直到找到全局作用域,依然没有找到,则会抛出异常