自定義函數(shù)可以獨立存放于python文件中,通過模塊導(dǎo)入。自定義模塊采用import語句來進行引入,其操作步驟是先導(dǎo)入模塊,再調(diào)用模塊中包含的函數(shù),可將自定義模塊放入當(dāng)前目錄,便于解釋器路徑搜索。
創(chuàng)新互聯(lián)是一家專業(yè)提供越秀企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為越秀眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
如果不需要傳參,括號里就不用填,注意,python中不需要定義變量類型。自定義函數(shù)除了函數(shù)的功能是我們自己編寫代碼實現(xiàn)的外,其他的與python中的函數(shù)并無差別,所以在調(diào)用函數(shù)時,直接使用函數(shù)名就行。
函數(shù)是組織好,可重復(fù)使用的,用來實現(xiàn)相關(guān)功能的代碼段
函數(shù)提高了代碼的重復(fù)利用率和應(yīng)用的模塊性。
除Python自帶的函數(shù)之外,也可以自己創(chuàng)建函數(shù),叫做自定義函數(shù)
語法:
函數(shù)代碼塊以 def 開頭
參數(shù)為 輸入值 ,放于函數(shù)名后口號里面,
函數(shù)內(nèi)容以冒號:開始,函數(shù)體縮進, return 返回 輸出值
函數(shù)調(diào)用使用關(guān)鍵字參數(shù)來確定傳入的參數(shù)值,此時,如果多個函數(shù)則不需要按照指定順序。
在定義函數(shù)時,指定參數(shù)默認值。調(diào)用時如果不傳入?yún)?shù),則使用默認值
不定長部分如果沒有指定參數(shù),傳入是一個空元組
加了 兩個星號 ** 的參數(shù)會以字典的形式導(dǎo)入
/ 用來指明函數(shù)形參必須使用指定位置參數(shù),不能使用關(guān)鍵字參數(shù)的形式。
3.8版本之后的才能使用
不使用 def 定義函數(shù),沒有函數(shù)名
lamdba主體時一個表達式,而不是代碼塊,函數(shù)體比def簡單很多
定義在函數(shù)內(nèi)部的為局部變量,僅能在函數(shù)內(nèi)部使用
定義在函數(shù)外部的為全局變量,可在全局使用
模塊是將包含所有定義的函數(shù)和變量的文件,一般將同類功能的函數(shù)組和在一起稱為模塊。
模塊需要導(dǎo)入后,在調(diào)用相應(yīng)函數(shù)進行使用
模塊導(dǎo)入的方法:
從模塊中導(dǎo)入一個指定的部分
把一個模塊的所有內(nèi)容全都導(dǎo)入
Python 有很多有用的內(nèi)置函數(shù), 但還是不能滿足程序員的需求, 所以需要 自定義函數(shù) 。
如何編寫 自定義函數(shù) , 需要用到 def語句, 函數(shù)名, 括號及參數(shù), 冒號, 函數(shù)說明,內(nèi)置縮進編碼模塊,return 語句 , 其中有一些也可省略不寫,后面會慢慢介紹。
編寫函數(shù)不可或缺的元素, 一定都要寫。函數(shù)名盡量寫得簡單易懂。
一般是對函數(shù)的描述說明。
這是編寫具體的 操作命令 的地方, 如果還未想好如何編寫, 可以使用 pass 來占位,讓程序可以運行起來,防止調(diào)試出錯。
參數(shù)放在最后講, 是因為這里面的東西還是很多的。首先看個例子。
如上的案例都是限制了參數(shù)個數(shù)的, 最多傳三個參數(shù) name/age/city , 但是如果有一些特例,需要傳多個參數(shù)怎么辦呢。 參數(shù)前面加個 * , 變成 可變參數(shù) 。
那如果想要傳多個包含名稱的參數(shù),例如a=1,b=2,c=3......,那該怎么寫呢。參數(shù)前面加個 ** , 變成 關(guān)鍵字參數(shù) 。
1、首先在當(dāng)前目錄下找有沒有abc、abc.py
2、找python的安裝目錄:F:\Python2.7Exe\Lib\site-packages;F:\Python2.7Exe\Lib;
3、找電腦中path下面的目錄
于是我改變路徑,將保存的abc.py文件直接放在python的安裝目錄下,使用import abc命令,然后在Python交互界面用 abc.XXX(XXX是abc.py文件中的定義函數(shù)的函數(shù)名),解決了調(diào)用自定義函數(shù)問題。
print函數(shù)介紹:print函數(shù)被用來進行數(shù)據(jù)的輸出,也就是將數(shù)據(jù)顯示在你所能看到的界面上,比如我們print("Hello World"),運行它,就會在瀏覽器上顯示Hello World。
return函數(shù)介紹:可以選擇性地向調(diào)用方返回一個表達式,可帶參數(shù)也可不帶,不帶參數(shù)的return函數(shù)會返回None。return單獨運行時,需要print函數(shù)才能顯示出來,但在交互模式下,return的結(jié)果會自動顯示出來。
需要注意的一點是,return是返回值,它后面的代碼塊是不執(zhí)行的,因此需要執(zhí)行的代碼不能放在return語句后,會失效。
看了上面的介紹,小伙伴大概清楚了一點,那究竟區(qū)別在哪呢?
return只能運用在函數(shù)中,有時候函數(shù)運行完會得出一個結(jié)果值,我們可以拿這個得出的值去進行另外的運算,所以我們需要用return將結(jié)果給返回出來;
如果我們用print的話,僅僅是將結(jié)果顯示在我們能看到的界面上而已,而并沒有辦法得到這個值,更無法進行后續(xù)的操作了。
另外,在循環(huán)語句中使用,return可以跳出循環(huán),而print則會一直循環(huán),除非使用函數(shù)進行終止。