Python中定義函數(shù)格式為,def+函數(shù)名:代碼塊
站在用戶的角度思考問題,與客戶深入溝通,找到滎經(jīng)網(wǎng)站設(shè)計(jì)與滎經(jīng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋滎經(jīng)地區(qū)。
如:
def print_hello():
print("hello")
定義:
def 函數(shù)名(形參1,形參2='初始定義的內(nèi)容'):
函數(shù)中執(zhí)行的內(nèi)容
調(diào)用:
函數(shù)名(實(shí)參1)或函數(shù)名(形參2=實(shí)參2,形參1=實(shí)參1)或函數(shù)名(實(shí)參1,實(shí)參2)
Python 有很多有用的內(nèi)置函數(shù), 但還是不能滿足程序員的需求, 所以需要 自定義函數(shù) 。
如何編寫 自定義函數(shù) , 需要用到 def語句, 函數(shù)名, 括號及參數(shù), 冒號, 函數(shù)說明,內(nèi)置縮進(jìn)編碼模塊,return 語句 , 其中有一些也可省略不寫,后面會慢慢介紹。
編寫函數(shù)不可或缺的元素, 一定都要寫。函數(shù)名盡量寫得簡單易懂。
一般是對函數(shù)的描述說明。
這是編寫具體的 操作命令 的地方, 如果還未想好如何編寫, 可以使用 pass 來占位,讓程序可以運(yùn)行起來,防止調(diào)試出錯(cuò)。
參數(shù)放在最后講, 是因?yàn)檫@里面的東西還是很多的。首先看個(gè)例子。
如上的案例都是限制了參數(shù)個(gè)數(shù)的, 最多傳三個(gè)參數(shù) name/age/city , 但是如果有一些特例,需要傳多個(gè)參數(shù)怎么辦呢。 參數(shù)前面加個(gè) * , 變成 可變參數(shù) 。
那如果想要傳多個(gè)包含名稱的參數(shù),例如a=1,b=2,c=3......,那該怎么寫呢。參數(shù)前面加個(gè) ** , 變成 關(guān)鍵字參數(shù) 。
python中定義函數(shù)的關(guān)鍵字是def。
Python使用def關(guān)鍵字開始函數(shù)定義,緊接著是函數(shù)名,括號內(nèi)部為函數(shù)的參數(shù),內(nèi)部為函數(shù)的具體功能實(shí)現(xiàn)代碼,如果想要函數(shù)有返回值, 在expressions中的邏輯代碼中用return返回。
上面我們定義了一個(gè)名字為 function 的函數(shù),函數(shù)沒有不接受參數(shù),所以括號內(nèi)部為空,緊接著就是 函數(shù)的功能代碼。
如果執(zhí)行該腳本,發(fā)現(xiàn)并沒有輸出任何輸出,因?yàn)槲覀冎欢x了函數(shù),而并沒有執(zhí)行函數(shù)。 這時(shí)我們在Python命令提示符中輸入函數(shù)調(diào)用 function(), 注意這里調(diào)用函數(shù)的括號不能省略。
python的學(xué)習(xí)
如果我們用代碼實(shí)現(xiàn)了一個(gè)小功能,但想要在程序代碼中重復(fù)使用,不能在代碼中到處粘貼這些代碼,因?yàn)檫@樣做違反了軟件工程中DRY原則。 Python提供了函數(shù)功能,可以將我們這部分功能抽象成一個(gè)函數(shù)以方便程序調(diào)用,或者提供給其他模塊使用。
函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。(推薦學(xué)習(xí):Python視頻教程)函數(shù)必須先定義,才能調(diào)用,否則會報(bào)錯(cuò),無參數(shù)時(shí)函數(shù)的調(diào)用函數(shù)名()。
有參數(shù)時(shí)函數(shù)的調(diào),不要在定義函數(shù)的時(shí)候在函數(shù)體里面調(diào)用本身,否則會出不來,陷入循環(huán)調(diào)用,函數(shù)需要調(diào)用函數(shù)體才會被執(zhí)行,單純的只是定義函數(shù)是不會被執(zhí)行的。