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)

  

posted @ 2018-02-25 15:22  华山纯爷们  阅读(243)  评论(0编辑  收藏  举报