1、函数定义
当定义一个函数时,遵循如下语法规则:
def 函数名称(参数列表):
函数体
上述参数列表为形参,调用函数时传递的为实参。
2、示例
定义一个简单的函数
def add(x,y):
return x+y
调用:
add(1,2)
def cheese_and_crackers(cheese_count,boxes_of_crackers):
print "you have %d cheeses!"%cheese_count
print "you have %d boxes of crackers!"%boxes_of_crackers
print "Man that's enough for a party!"
print "Get a blanket.\n"
print "We can just give the function numbers directly:"
cheese_and_crackers(20,30)
print "OR,we can use variables from our script:"
amount_of_cheese = 10
amount_of_crackers = 50
cheese_and_crackers(amount_of_cheese,amount_of_crackers)
print "We can even do math inside too:"
cheese_and_crackers(10+20,5+6)
print "And we can combine the two,variables and math:"
cheese_and_crackers(amount_of_cheese+100,amount_of_crackers+200)
结果如下:
3、函数返回值
看函数的返回值示例:
def add(a,b):
print "%d + %d"%(a,b)
return a + b
def subtract(a,b):
print "%d - %d"%(a,b)
return a-b
def multiply(a,b):
print "%d * %d"%(a,b)
return a*b
def divide(a,b):
print "%d / %d"%(a,b)
return a/b
print "start to calculate......"
num1 = add(3,4)
num2 = subtract(1,5)
num3 = multiply(2,6)
num4 = divide(3,4)
print "num1:%d,num2:%d,num3:%d,num4:%d"%(num1,num2,num3,num4)
结果如下:
如果函数无返回值,打印则会出现None,如下:
def add(x,y):
sum = x+y
s = add(1,2)
print s
结果如下:
4、函数返回多个值
def multiReturnValue(x,y):
return x+3,y+4
nx,ny = multiReturnValue(4,5)
print nx,ny
得到的结果如下:
7 9
看起来是返回了两个值,其实是一个值,如下所示:
z = multiReturnValue(4,5)
print z
返回的结果如下:
(7, 9)
返回的是一个tuple元组。
有关tuple的用法详见 Python tuple元组介绍
5、可变参数
可以接受任意参数,如下:
def fp(*agrs):
print agrs
调用如下:
fp()
返回
()
传入一个参数:
fp('a')
返回
('a',)
传入多个参数:
fp('a','b','c')
返回
('a', 'b', 'c')
综合示例:求平均值:
def average(*args):
sum =0.0
if len(args)==0:
return sum
for x in args:
sum = sum + x
return sum / len(args)
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)
结果为:
0.0
1.5
2.4