在Python中,定义一个函数要使用def语句,依次写出:“def 函数名(参数):”,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
以定义一个求长方形面积的函数为例:
# 定义函数
def rectangle_area(a, b):
area = a * b
return area
# 调用函数
rect_area = rectangle_area(5, 6)
print("长方形的面积是: {}cm²".format(rect_area))
运行结果如下
长方形的面积是: 30cm²
其中rectangle_area(a, b) 括号里为参数return为返回值
函数参数函数参数是需要传递给函数内部的数据,在函数的定义中,我们已经简单接触了函数的参数,现在来正式认识它。函数参数可以是任意的数据类型,只要函数内部逻辑可以处理即可。
但是,有时候由于函数的实现关系,需要特定的参数,比如前面实现的求矩形面积的函数
# rectangle_area(a, b),如果传递两个字符串,就会引起错误
def rectangle_area(a, b):
area = a * b
return area
rectangle_area('hello', 'Python')
# 报错
TypeError: can't multiply sequence by non-int of type 'str'
函数默认参数
定义函数的时候,还可以有默认参数,默认参数的意思是当这个参数没有传递的时候,参数就使用定义时的默认值。可见,函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。
我们来定义一个计算x的N次方的函数:
def power(x, N):
res = 1
while N > 0:
N = N - 1
res = res * x
return res
# 调用函数,计算5的平方
print(power(5, 2))
假设我们最常用的是:计算平方的功能。那么我们就可以把N的默认值设定为2可以写成以下形式
def power(x, N=2):
res = 1
while N > 0:
N = N - 1
res = res * x
return res
这样调用时候只需要传入一个值就可以了
power(5) # ==> 25
另外,需要注意的是,由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面,否则将会出现错误。



