分兩步:定義函數(shù)和調(diào)用函數(shù)。
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序設計、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了安次免費建站歡迎大家使用!
1.定義函數(shù)用def關鍵字,然后定義函數(shù)名和入?yún)?,以及函?shù)執(zhí)行語句。
2.通過函數(shù)名調(diào)用函數(shù)即可,需要傳入?yún)?shù)的話需要加上參數(shù)值
這里來給大家演示一下,函數(shù)的定義或構造,并調(diào)用函數(shù)來實現(xiàn)封裝后的效果。
首先我們來看看想實現(xiàn)下面的這個效果,如果不使用函數(shù)應該怎么實現(xiàn)。
以上兩種返回結果都是1-9這幾個數(shù)字。
以上兩種方法,第一種代碼重復率太高,代碼美觀效果太差,雖然能實現(xiàn)效果,但是因為數(shù)量比較少,還能手工打出來這幾行代碼,如果是打印1-100000就很難實現(xiàn)了。這時候for循環(huán)還是可以實現(xiàn)的,但是for循環(huán)只能實現(xiàn)類似的數(shù)字和變量循環(huán),無法進行復雜的功能開發(fā)。鑒于此,函數(shù)這個概念就被python引入了,下面先來看看函數(shù)是怎么實現(xiàn)上面的效果的,還是兩種方法。
這時候如果想實現(xiàn)上面的打印結果就直接使用函數(shù)名+小括號調(diào)用函數(shù)就可以了,這種類型的語法,不僅可以反復使用,而且封裝后的代碼更美觀。
類是對象的模板,是抽象的。
構造函數(shù) init 是Python魔術方法之一,如圖魔術方法
我們通過類模版去創(chuàng)建類的實例對象,然后再調(diào)用類定義的功能。
那實例對象的屬性是通過什么來初始化的?
這時候Python引入來構造函數(shù) init
構造函數(shù),會在創(chuàng)建實例對象之后Python會自動執(zhí)行此方法,把初始化的屬性特點放到實例對象里。
通過前面的學習,我們知道一個python對象包含三個部分:id(識別碼),type(對象類型),value(對象的值)
那么我們進一步深入對象包含的三部分:
我們通過類創(chuàng)建實例對象后,需要定義構造函數(shù) init ()方法。
構造方法用于執(zhí)行實例對象的初始化工作,即對象創(chuàng)建之后,初始化當前對象的相關的屬性,無返回值
構造函數(shù)重點 :
我們通過栗子來學習構造函數(shù)的過程
構造函數(shù)初始化實例對象過程如下:
1.Animal類會通過默認的 new ()方法為實例對象在堆內(nèi)存中為開辟一個空間
敲黑板,重點來啦~
拓展:
我們今天學習了構造函數(shù) init (),其在創(chuàng)建對象之后被Python自動調(diào)用初始化實例對象屬性數(shù)據(jù)值,無返回值,并且構造函數(shù)不能被顯示調(diào)用。
創(chuàng)建對象時,如果需要,構造函數(shù)可以接受參數(shù)。當創(chuàng)建沒有構造函數(shù)的類時,Python會自動創(chuàng)建一個不執(zhí)行任何操作的默認構造函數(shù)。
每個類必須有一個構造函數(shù),即使它只依賴于默認構造函數(shù)
好啦,以上是本期內(nèi)容,歡迎大佬評論區(qū)指正~
對于一個樣本序列 ,經(jīng)驗累積分布函數(shù) (Empirical Cumulative Distribution Function)可被定義為
其中 是一個指示函數(shù),如果 ,指示函數(shù)取值為1,否則取值為0,因此 能反映在樣本中小于 的元素數(shù)量占比。
根據(jù)格利文科定理(Glivenko–Cantelli Theorem),如果一個樣本滿足獨立同分布(IID),那么其經(jīng)驗累積分布函數(shù) 會趨近于真實的累積分布函數(shù) 。
首先定義一個類,命名為ECDF:
我們采用均勻分布(Uniform)進行驗證,導入 uniform 包,然后進行兩輪抽樣,第一輪抽取10次,第二輪抽取1000次,比較輸出的結果。
輸出結果為:
而我們知道,在真實的0到1均勻分布中, 時, ,從模擬結果可以看出,樣本量越大,最終的經(jīng)驗累積分布函數(shù)值也越接近于真實的累積分布函數(shù)值,因此格利文科定理得以證明。