函數(shù)定義
函數(shù)代碼塊以 def 關(guān)鍵詞開頭,后接函數(shù)標(biāo)識(shí)符名稱和圓括號(hào)()。
任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間。圓括號(hào)之間可以用于定義參數(shù)。
函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。
函數(shù)內(nèi)容以冒號(hào)起始,并且縮進(jìn)。
return [表達(dá)式] 結(jié)束函數(shù),選擇性地返回一個(gè)值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回 None。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供平谷企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站制作、HTML5、小程序制作等業(yè)務(wù)。10年已為平谷眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
def functionname( parameters ):
"函數(shù)_文檔字符串"
function_suite
return [expression]
函數(shù)調(diào)用:直接寫函數(shù)名字(參數(shù))
def printtest(str):
print(str)
return
printtest('aa')
可更改(mutable)與不可更改(immutable)對象
可更改:列表和字典
不可更改:strings, tuples, 和 numbers 是不可更改的對象
python 中一切都是對象,嚴(yán)格意義我們不能說值傳遞還是引用傳遞,我們應(yīng)該說傳不可變對象和傳可變對象
傳不可變對象實(shí)例
#!/usr/bin/python
def ChangeInt( a ):
a = 10
b = 2
ChangeInt(b)
print b # 結(jié)果是 2
傳可變對象實(shí)例
#!/usr/bin/python
def changeme( mylist ):
"修改傳入的列表"
mylist.append([1,2,3,4]);
print "函數(shù)內(nèi)取值: ", mylist
return
mylist = [10,20,30];
changeme( mylist );
print "函數(shù)外取值: ", mylist
輸出結(jié)果
函數(shù)內(nèi)取值: [10, 20, 30, [1, 2, 3, 4]]
函數(shù)外取值: [10, 20, 30, [1, 2, 3, 4]]
參數(shù):
必備參數(shù):必備參數(shù)須以正確的順序傳入函數(shù)。調(diào)用時(shí)的數(shù)量必須和聲明時(shí)的一樣。
調(diào)用printme()函數(shù),你必須傳入一個(gè)參數(shù),不然會(huì)出現(xiàn)語法錯(cuò)誤
關(guān)鍵字參數(shù)
#!/usr/bin/python
#可寫函數(shù)說明
def printme( str ):
"打印任何傳入的字符串"
print str;
return;
#調(diào)用printme函數(shù)
printme( str = "My string");
缺省參數(shù)
調(diào)用函數(shù)時(shí),缺省參數(shù)的值如果沒有傳入,則被認(rèn)為是默認(rèn)值
#!/usr/bin/python
#可寫函數(shù)說明
def printinfo( name, age = 35 ):
"打印任何傳入的字符串"
print "Name: ", name;
print "Age ", age;
return;
#調(diào)用printinfo函數(shù)
printinfo( age=50, name="miki" );
printinfo( name="miki" );
不定長參數(shù)
你可能需要一個(gè)函數(shù)能處理比當(dāng)初聲明時(shí)更多的參數(shù)。這些參數(shù)叫做不定長參數(shù),和上述2種參數(shù)不同,聲明時(shí)不會(huì)命名
#!/usr/bin/python
def printinfo( arg1, *vartuple ):
"打印任何傳入的參數(shù)"
print "輸出: "
print arg1
for var in vartuple:
print var
return;
printinfo( 10 );
printinfo( 70, 60, 50 );
return 語句
return語句[表達(dá)式]退出函數(shù),選擇性地向調(diào)用方返回一個(gè)表達(dá)式。不帶參數(shù)值的return語句返回None
def sum( arg1, arg2 ):
total = arg1 + arg2
print "函數(shù)內(nèi) : ", total
return total;
total = sum( 10, 20 );