一、 函数
1.从Python中调用函数
从Python的官方网站查看文档:(abs)
http://docs.python.org/2/library/functions.html#abs
或者
在交互命令 help(bas)
abs函数是求绝对值
>>>abs(-2)
2
cmp(x,y)比较函数,如果x<y,返回-1,如果x==y,返回0,如果x>y,返回1
int()函数,把其他类型转换为整数
>>>int('123')
123
>>>int(12,34)
12
str()把其他类型转换成str。
>>>str(123)
'123'
>>>str(1.23)
'1.23'
列:
L=[ ]
x=1
while x<=100:
L.append(x*x)
x=x+1
print sum(L)
2.编写函数
定义函数是要同def语句,依次写出函数名、括号、括号中的参数和冒号
def my_abs(x):
if x>=0:
return x
else:
return -x
列:定义一个square_of_sum 函数,它接受一list,返回list中每个元素平方的和。
def square_of_sum(L):
sum=0
for x in L:
sum=sum+x*x
return sum
或者
def square_of_sum(L):
M=[ ]
for x in L:
M.append(x*x)
return sum(M)
3.函数之返回多值
math包提供了sin()和cos()函数,用import应用。
import math
def move(x,y,step,angle):
nx=x+step*math.cos(angle)
ny=y-step*math.sin(angle)
return nx,ny
列:编写一个函数,返回一元二次方程的两个解。
import math
def quadratic_equation(a,b,c):
if b*b-4*a*c<0:
return
else:
x1=(-b+math.sqrt(b*b-4*a*c))/(2*a)
x2=(-b-math.squt(b*b-4*a*c))/(2*a)
return x1,x2
或者简单的
def quadratic_equation(a,b,c):
t=math.sqrt(b*b-4*a*c)
return(-b+t)/(2*a) , (-b-t)/(2*a)
4.递归函数
计算阶乘n!=12345...*n用fact(n)表示。
fact(n)用递归的方式:
def fact(n):
if n==1:
return 1
return n*fact(n-1)
5.定义默认参数
定义函数时,还可以有默认参数。
计算x的N次方的函数:
def power(x,n):
s=1
while n>0:
n=n-1
s=s*x
return s
默认参数只能定义在必需参数的后面
6. 定义可变参数
可变参数的名字前有*号
列:求平均值
def average(*args)
sum=0.0
if len(args)==0:
return sum
for x in args:
sum=sum + x
return sum/ln(args)
>>>print average()
0.0
>>>print average(1,2)
1.5
>>>print avetrage(1,2,2,3,4)
2.4