前言:函数(function)在最初引进的时候被称之为方程,有音译的成分,《代数学》中解释为“凡此变数中函彼变数者,则此为彼之函数”,也即函数指一个量随着另一个量的变化而变化,通俗点就是我们需要的量是可通过另外的量描述的,建立起了一一对应的关系。在程序中为了方便计算,也引入了函数的概念,不过放在一个更高的高度,函数存在的意义应该和后期要学的模块(module)类似,是为了统筹全局,使今后程序的维护或者阅读上更加的清晰。
2.1 定义函数
函数在Python中的格式为xxx()
,例如abs()
表示求绝对值,这一类格式在所有编程语言中应该都大同小异吧。
在Python中定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:
,
然后,在缩进块中编写函数体,函数的返回值用return
语句返回。例如:
def my_abs(x):
if not isinstance(x,(int,float)):
raise TypeError('wrong type')
elif x>0:
return x
elif x<=0:
return -x
定义函数注意的要点有:
- 尽量要有参数检测,防止输入无效参数
- 缩进!缩进!缩进!
- 函数运行只要遇到
return
就会退出该层函数,没有return
时默认返回None - 多参数多返回值,返回值以
tuple
形式存储
>>> def test(x,y):
... return x+y,x-y
>>> print test(1,2)
(3, -1)
在调用时要注意的地方是:
- 参数数量要输入对
- 参数的数据类型要匹配
2.2 函数的参数
Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数。
默认参数
默认参数就是函数中的内置参数,但是为了能够方便调用和改动,所以放在了函数定义时的括号当中,以定值传入,但在调用时可以重新进行赋值,需要注意的是函数会按顺序调用参数,所以最好还是要写入默认参数名。
>>> def power_1(x,n=2</