Python基础之函数的应用
学习软件编程,函数必须掌握好。
在Python中,定义函数要使用def语句
定义函数格式为 def 函数名(参数):函数体 return 返回值
1.接下来,我们自定义一个求绝对值的函数my_abs
def my_abs(x):
if not isinstance(x, (int, float)):#当传入的参数,不是int或float类型时,就会报以下错误
raise TypeError('bad operand type')
if x >= 0: #当X大于等于0时,返回X本身
return x
else: #当X小于0时,返回其负数,负负得正,因此可以得出绝对值
return -x
需要注意的是,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并返回结果。
因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
如果没有 return 语句,函数执行完毕后也会返回结果,只是结果为 None 。
return None 可以简写为 return 。
2.我们再定义一个求一个数的几次幂的函数my_pow
def my_pow(x,n=2): #定义函数,my_pow,其中x为求幂的数,n为几次幂,这里我们设置默认为2次幂
s = 1
while n > 0:
n = n - 1
s = s * x
return s
注意:当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
3.我们再定义一个求一组数的平方和的函数。如:给定一组数字a,b,c……求它们平方的和
要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c……作为一个lis
t或tuple传进来,这样,函数可以定义如下:
def my_sum(*numbers): #在参数前面加了一个 * 号,调用该函数时,可以传入任意个参数,包括0个参数
s = 0
for i in x:
s = s + i * i
return s
但是调用的时候,需要先组装出一个list或tuple
我们也可以传入listh或者tuple作为参数,代码如下
L = [1,2,3,4] print my_sum(L[0],L[1],L[2],L[3]) #这种方法可以实现,但是很麻烦。可以用下面这种方式 print my_sum(*L)