Python編程中對於某些需要重復調用的程序,可以使用函數進行定義,基本形式為:
def 函數名(參數1, 參數2, ……, 參數N):
執行語句
執行語句
#
例1:簡單的函數使用
# coding=gb2312
# 定義函數
def hello():
print ' hello python! '
# 調用函數
hello()
>>> hello python!
# 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
# 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
Python 函數的參數傳遞時,值得注意的是參數傳入時若為變量會被當作臨時賦值給參數變量,如果是對象則會被引用。
#
例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
# 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