一、函數(shù)的定義
成都創(chuàng)新互聯(lián)專注于中大型企業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計(jì)客戶上1000家,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注品牌網(wǎng)站設(shè)計(jì)和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長!
函數(shù)是指將一組語句的集合通過一個名字(函數(shù)名)封裝起來,想要執(zhí)行這個函數(shù),只需要調(diào)用函數(shù)名即可
特性:
減少重復(fù)代碼
使程序變得可擴(kuò)展
使程序變得易維護(hù)
二、函數(shù)的參數(shù)
2.1、形參和實(shí)參數(shù)
形參,調(diào)用時才會存在的值
實(shí)慘,實(shí)際存在的值
2.2、默認(rèn)參數(shù)
定義:當(dāng)不輸入?yún)?shù)值會有一個默認(rèn)的值,默認(rèn)參數(shù)要放到最后
2.3、 關(guān)鍵參數(shù)
定義: 正常情況下,給函數(shù)傳參數(shù)要安裝順序,不想按順序可以用關(guān)鍵參數(shù),只需要指定參數(shù)名即可,(指定了參數(shù)名的就叫關(guān)鍵參數(shù)),但是要求是關(guān)鍵參數(shù)必須放在位置參數(shù)(以位置順序確定對應(yīng)的參數(shù))之后
2.4、非固定參數(shù)
定義: 如你的函數(shù)在傳入?yún)?shù)時不確定需要傳入多少個參數(shù),就可以使用非固定參數(shù)
# 通過元組形式傳遞
# 通過列表形式傳遞
# 字典形式(通過k,value的方式傳遞)
# 通過變量的方式傳遞
三、函數(shù)的返回值
作用:
返回函數(shù)執(zhí)行結(jié)果,如果沒有設(shè)置,默認(rèn)返回None
終止函數(shù)運(yùn)行,函數(shù)遇到return終止函數(shù)
四、變量的作用域
全局變量和局部變量
在函數(shù)中定義的變量叫局部變量,在程序中一開始定義的變量叫全局變量
全局變量作用域整個程序,局部變量作用域是定義該變量的函數(shù)
當(dāng)全局變量與局部變量同名是,在定義局部變量的函數(shù)內(nèi),局部變量起作用,其他地方全局變量起作用
同級的局部變量不能互相調(diào)用
想要函數(shù)里邊的變量設(shè)置成全局變量,可用global進(jìn)行設(shè)置
五、特殊函數(shù)
5.1、嵌套函數(shù)
定義: 嵌套函數(shù)顧名思義就是在函數(shù)里邊再嵌套一層函數(shù)
提示 在嵌套函數(shù)里邊調(diào)用變量是從里往外依次調(diào)用,意思就是如果需要調(diào)用的變量在當(dāng)前層沒有就會去外層去調(diào)用,依次內(nèi)推
匿名函數(shù)
基于Lambda定義的函數(shù)格式為: lambda 參數(shù):函數(shù)體
參數(shù),支持任意參數(shù)。
匿名函數(shù)適用于簡單的業(yè)務(wù)處理,可以快速并簡單的創(chuàng)建函數(shù)。
# 與三元運(yùn)算結(jié)合
5.3、高階函數(shù)
定義:變量可以指向函數(shù),函數(shù)的參數(shù)可以接收變量,那么一個函數(shù)就可以接收另一個函數(shù)作為參數(shù),這種函數(shù)稱之為高階函數(shù) 只需要滿足一下任意一個條件,即是高階函數(shù)
接收一個或多個函數(shù)作為輸入
return返回另一個函數(shù)
5.4、遞歸函數(shù)
定義:一個函數(shù)可以調(diào)用其他函數(shù),如果一個函數(shù)調(diào)用自己本身,這個函數(shù)就稱為遞歸函數(shù)
在默認(rèn)情況下Python最多能遞歸1000次,(這樣設(shè)計(jì)師是為了防止被內(nèi)存被撐死)可以通過sys.setrecursionlimit(1500)進(jìn)行修改
遞歸實(shí)現(xiàn)過程是先一層一層的進(jìn),然后在一層一層的出來
必須有一個明確的條件結(jié)束,要不然就是一個死循環(huán)了
每次進(jìn)入更深層次,問題規(guī)模都應(yīng)該有所減少
遞歸執(zhí)行效率不高,遞歸層次過多會導(dǎo)致站溢出
# 計(jì)算4的階乘 4x3x2x1
# 打印數(shù)字從1-100
5.5、閉包現(xiàn)象
定義:內(nèi)層函數(shù)調(diào)用外層函數(shù)的變量,并且內(nèi)存函數(shù)被返回到外邊去了
閉包的意義:返回的函數(shù)對象,不僅僅是一個函數(shù)對象,在該函數(shù)外還包裹了一層作用域,這使得,該函數(shù)無論在何處調(diào)用,優(yōu)先使用自己外層包裹的作用域
能。如果python的方法中最后返回return **,表示該方法到此結(jié)束不再執(zhí)行,并返回對應(yīng)的內(nèi)容;如果只有return表示程序到此中段,不再執(zhí)行,相當(dāng)于打斷點(diǎn)。望采納,謝謝。
return break 都可以終止函數(shù)的運(yùn)行exit(0) # 無錯誤退出exit(1) # 有錯誤退出這兩條語句一般都會加在程序的最后 因?yàn)閑xit是迫使系統(tǒng)去終止程序的運(yùn)行
python雙擊怎么說
71.新建一個簡單的Python文件代碼示例:print("hello world")2.將文件保存在本地的磁盤中3.如果此刻,雙擊該文件,在窗口中會出現(xiàn)一個窗口一閃而過,繼續(xù)在文件中添加一個函數(shù)input(),可以解決以上信息代碼示例:print("hello world")input("Tip: press Enter , close window!")4.保存以上文件,再次雙擊該文件運(yùn)行5.此時,通過一個input(),就可以暫停Python程序運(yùn)行,并等待用戶的輸入,按下鍵盤上的回車鍵(Enter),即可關(guān)閉窗口因?yàn)檫@是一個等待用戶輸入的命令,所以會有一個光標(biāo)閃爍,等待用戶輸入,只有按下鍵盤上的回車鍵,才能關(guān)閉窗口。按下其他按鍵表示字符輸入,最終還是要按下回車鍵才可以注意事項(xiàng)使用input()函數(shù),可以實(shí)現(xiàn)暫停程序運(yùn)行。
拋出異常是停止運(yùn)行這個函數(shù)中的代碼。
哈希算法將一個不定長的輸入,通過散列函數(shù)變換成一個定長的輸出,即散列值。是一種信息摘要算法。對象的hash值比原對象擁有更低的內(nèi)存復(fù)雜度。
它不同于加密。哈希是將目標(biāo)文本轉(zhuǎn)換成具有相同長度的,不可逆的雜湊字符串,而加密則是將文本轉(zhuǎn)換為具有相同長度的,可逆的密文。哈希算法是不可逆的,只能由輸入產(chǎn)生輸出,不能由輸出產(chǎn)生輸入。而加密則是可逆的。即可以從輸入產(chǎn)生輸出,也可以反過來從輸出推出輸入。
終止程序:1、所有函數(shù)都結(jié)束,自動終止程序;2、sys.exit(0),手動退出程序