在编程中,对于一些需要重复调用的程序,可以使用函数来定义。 基本形式是:
def 函数名(参数1, 参数2, ..., 参数N):
执行语句的函数名就是调用的名字,参数就是传入的参数,可以多定义,也可以不定义。
# 例1:简单的函数使用 # coding=gb2312 # 定义函数 def hello(): print 'hello python!' # 调用函数 hello() >>> hello python!
函数可以有参数和返回值。 参数将从左到右进行匹配。 可以为参数设置默认值。 当使用函数时没有给出相应的参数时,将分配默认值。
# 例2:累加计算值 # coding=gb2312 # 定义函数 def myadd(a=1,b=100): result = 0 i = a while i <= b: # 默认值为1+2+3+……+100 result += i i += 1 return result # 打印1+2+……+10 print myadd(1,10) print myadd() # 使用默认参数1,100 print myadd(50) # a赋值50,b使用默认值 >>> 55 >>> 5050 >>> 3825
函数的参数传递时,值得注意的是,如果参数作为变量传入,则会临时赋值给参数变量,如果是对象,则会被引用。
# 例3: # coding=gb2312 def testpara(p1,p2): p1 = 10 p2.append('hello') l = [] # 定义一数组对像 a = 20 # 给变量a赋值 testpara(a,l) # 变量a与对象数组l作为参数传入 print a # 打印运行参数后的值 for v in l: # 打印数组对象的成员 print v >>> 20 # 调用函数后a变量并未被复值 >>> hello # 而对象l数组则增加成员hello