Python入门笔记(6)_ 函数

来源:互联网 发布:淘宝界面找阿里旺旺 编辑:程序博客网 时间:2024/05/18 04:57

Python 本身内置很多函数,可以直接调用。官方网站有函数的详细信息,大家可以访问

http://docs.python.org/2/library/functions.html

也可以通过函数 help() 来查看函数信息。

例如,abs() 求绝对值,int() 将输入转为整数类型,str() 将输入转为字符串类型,cmp(x, y) 比较x 和 y 的大小:若 x>y, 输出为 1,若 x<y,输出为 -1,相等为 0。


函数的编写

函数编写很简单,不需要多讲,只是要注意 Python 的数学格式

def square_of_sum(L):    s = 0    for i in L:        s = i*i + s    return s
注意 def ... 后面的 :号。

当然,函数是可以返回多值的。

ax² + bx + c = 0 解方程:

import mathdef quadratic_equation(a, b, c):    X1 = (-b + math.sqrt(-4*a*c + b*b))/(2*a)    X2 = (-b - math.sqrt(-4*a*c + b*b))/(2*a)    return X1,X2

递归函数

如果一个函数在内部调用自身本身,这个函数就是递归函数。

def fact(n):    if n==1:        return 1    return n * fact(n - 1)

参数的定义方法

1. 定义默认参数

先看一段程序,计算序列 L 元素的 n 次方平均数:

def power_sum(L,n):    sum = 0    for x in L:        sum = sum + x**n    return sum/len(L)print power_sum(range(1,6),3)
调用时需要两个参数:x 和 n。

如果某种场合下,比如我们只计算 L 元素的 2 次方平均数,程序改为:

def power_sum(L,n=2):    sum = 0    for x in L:        sum = sum + x**n    return sum/len(L)print power_sum(range(1,6))
这时,我们再调用函数时,只需要一个参数。不过要注意,由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面。


2. 定义可变参数

当函数的参数不确定时,即不同情况下输入参数不同,此时可以如下定义:

def average(*args):    ...
还是上例,假如输入不是 List,而是一个一个单个数据输入:

def power_sum(*args):    sum = 0    for x in args:        sum = sum + x**2    return sum/len(args)print power_sum(5,3,4,1,2)print power_sum(5,7,4,1,2,6,3)



0 0