函数
(1) 形参和实参,局部变量
a=100 #全局变量
def addd_num(a,b,c):
d=a+b+c
print 'a=',a, #局部变量
print 'b=',b,
print 'c=',c,
print 'd=',a+b+c
return d
print addd(3,4,5)
print 'a=====',a
输出结果为:
a=3
b=4
c=5
a=======100
(2)默认参数
例: 使用默认参数值
#!/usr/bin/python
# Filename: func_default.py
def say(message, times = 1):
print message * times
say('Hello')
say('World', 5)
(源文件:code/func_default.py)
输出
$ python func_default.py
Hello
WorldWorldWorldWorldWorld
(3) 关键字参数
例7.6 使用关键参数
#!/usr/bin/python
# Filename: func_key.py
def func(a, b=5, c=10):
print 'a is', a, 'and b is', b, 'and c is', c
func(3, 7)
func(25, c=24)
func(c=50, a=100)
输出结果:
a is 3 and b is 7 and c is 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50
概括:
(1)当使用默认参数后,实参个数不一定与形参相等。那个默参可以不赋值。其实这个默参c关键字参数
(2)使用关键字参数,后实参的顺序可变
(3)
特别重要的声明:
只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有
默认值的形参而后声明没有默认值的形参。
def func(a, b=5, c=10):是有效的
def func(b=5, c=10,a):是无效的