函数

(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):是无效的

posted @ 2013-04-30 19:13  唧唧歪歪sss  阅读(712)  评论(0编辑  收藏  举报