資源描述:
《Python 函數(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、---Python函數(shù)1.函數(shù)簡(jiǎn)介函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一或相關(guān)聯(lián)功能的代碼段。函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。Python提供了許多內(nèi)建函數(shù),比如print();也可以自己創(chuàng)建函數(shù),這被叫做用戶自定義函數(shù)。2.函數(shù)定義規(guī)則:函數(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。語法:1d
2、effunctionname(parameters):----2"函數(shù)_文檔字符串"3function_suite4return[expression]默認(rèn)情況下,參數(shù)值和參數(shù)名稱是按函數(shù)聲明中定義的順序匹配起來的。實(shí)例:以下為一個(gè)簡(jiǎn)單的Python函數(shù),它將一個(gè)字符串作為傳入?yún)?shù),再打印到標(biāo)準(zhǔn)顯示設(shè)備上。1defprintme(str):2"打印傳入的字符串到標(biāo)準(zhǔn)顯示設(shè)備上"3printstr4return3.函數(shù)調(diào)用定義一個(gè)函數(shù)只給了函數(shù)一個(gè)名稱,指定了函數(shù)里包含的參數(shù),和代碼塊結(jié)構(gòu)。這個(gè)函數(shù)的基本結(jié)構(gòu)完成以后,你可以通過另一個(gè)函數(shù)調(diào)用執(zhí)行,也可以直接從Python提示符執(zhí)行。如下
3、實(shí)例調(diào)用了printme()函數(shù):復(fù)制代碼----1#!/usr/bin/envpython2#-*-coding:UTF-8-*-345#定義函數(shù)6defprintme(str):7"打印任何傳入的字符串"8print(str)9return1011#調(diào)用函數(shù)12printme("我要調(diào)用用戶自定義函數(shù)!")13printme("再次調(diào)用同一函數(shù)")復(fù)制代碼輸出結(jié)果:1我要調(diào)用用戶自定義函數(shù)!2再次調(diào)用同一函數(shù)4.按值傳遞參數(shù)和按引用傳遞參數(shù)所有參數(shù)(自變量)在Python里都是按引用傳遞。如果你在函數(shù)里修改了參數(shù),那么在調(diào)用這個(gè)函數(shù)的函數(shù)里,原始的參數(shù)也被改變了。例如:復(fù)制代碼1#
4、!/usr/bin/envpython----2#-*-coding:UTF-8-*-345#可寫函數(shù)說明6defchangeme(mylist):7"修改傳入的列表"8mylist.append([1,2,3,4])9print("函數(shù)內(nèi)取值:",mylist)10return1112#調(diào)用changeme函數(shù)13mylist=[10,20,30]14changeme(mylist)15print("函數(shù)外取值:",mylist)復(fù)制代碼輸出結(jié)果:1函數(shù)內(nèi)取值:[10,20,30,[1,2,3,4]]2函數(shù)外取值:[10,20,30,[1,2,3,4]]傳入函數(shù)的和在末尾添加新內(nèi)容的
5、對(duì)象用的是同一個(gè)引用。5.參數(shù)以下是調(diào)用函數(shù)時(shí)可使用的正式參數(shù)類型:必備參數(shù)----關(guān)鍵字參數(shù)默認(rèn)參數(shù)不定長參數(shù)必備參數(shù)必備參數(shù)須以正確的順序傳入函數(shù)。調(diào)用時(shí)的數(shù)量必須和聲明時(shí)的一樣。調(diào)用printme()函數(shù),你必須傳入一個(gè)參數(shù),不然會(huì)出現(xiàn)語法錯(cuò)誤:復(fù)制代碼1#!/usr/bin/envpython2#-*-coding:UTF-8-*-34#可寫函數(shù)說明5defprintme(str):6"打印任何傳入的字符串"7print(str)8return910#調(diào)用printme函數(shù)11printme()復(fù)制代碼輸出結(jié)果:----1Traceback(mostrecentcalllast
6、):2File"D:/PycharmProjects/S15/day04/test.py",line11,in3printmewww.baiyuewang.net()4TypeError:printme()missing1requiredpositionalargument:'str'關(guān)鍵字參數(shù)關(guān)鍵字參數(shù)和函數(shù)調(diào)用關(guān)系緊密,函數(shù)調(diào)用使用關(guān)鍵字參數(shù)來確定傳入的參數(shù)值。使用關(guān)鍵字參數(shù)允許函數(shù)調(diào)用時(shí)參數(shù)的順序與聲明時(shí)不一致,因?yàn)镻ython解釋器能夠用參數(shù)名匹配參數(shù)值。以下實(shí)例在函數(shù)printme()調(diào)用時(shí)使用參數(shù)名:復(fù)制代碼1#!/usr/bin/envpython2#-*
7、-coding:UTF-8-*-345#可寫函數(shù)說明6defprintme(str):7"打印任何傳入的字符串"----8print(str)9return101112#調(diào)用printme函數(shù)13printme(str="Mystring");復(fù)制代碼輸出結(jié)果:1Mystring下例能將關(guān)鍵字參數(shù)順序不重要展示得更清楚:復(fù)制代碼1#!/usr/bin/envpython2#-*-coding:UTF-8-*-345#可寫函數(shù)說明6defprin