原创 python-類的方法和函數的區別與聯繫

在定義類時,我們通常需要定義一些方法,看起來這個方法和函數的定義是相同的,但還是有略微的差別。 定義函數時,我們是可以不設置形參的。 如果設置了形參,形參和實參是對應的,有多少形參,就需要傳多少實參。 定義類的方法時,是必須至少設

原创 python- 封裝

文章目錄1、爲什麼要封裝2、怎麼封裝?2.1 雙下劃線開頭2.2 單下劃線開頭3、封裝的好處4、完整的封裝實例 封裝很容易理解,就是把一個東西包起來。那麼什麼都能包起來嗎,我還能打開它嗎?今天我們就一起來聊一聊。 1、爲什麼要封

原创 用python,輕輕鬆鬆通關漢諾塔遊戲(遞歸函數)

漢諾塔遊戲其實是有規律可循的,可以用遞歸的思想,其實就是兩個爲一組來回折騰。如果自己想也能弄出來,就是有可能把自己搞暈。 下面用遞歸的思想解決這個問題。實際上很簡單,一開始A柱子上有n個盤子,我可以把上面n-1個先放到B上面,最下

原创 mnist手寫數字體識別CNN訓練測試完美復現,以及自己手寫數字進行測試

文章目錄1、mnist數據集介紹2、softmax迴歸法實現3、卷積神經網絡實現及試驗 mnist手寫數字體識別,算是計算機視覺、圖像識別領域的入門級demo了。就好像你學習編程首先要打出一個’hello world’。 實現手寫

原创 windows+tensorflow-gpu完美復現yolov3,用攝像頭目標檢測

運行環境: 操作系統:windows10 顯卡版本:英偉達某一般顯卡,6GB 框架:tensorflow1.14.0 (個人認爲不要太舊,高於1.11.0應該就可以) coco數據集,以及訓練的權重網上有很多,可以直接去使用,不需

原创 python-兩個或者多個裝飾器的使用以及執行順序詳解

python中,代碼是從上到下執行的,而我們的裝飾器事實上只是把被裝飾函數重新賦值,生成一個新對象,並沒有立即執行。只有在調用被裝飾函數的時候纔會執行所有裝飾。 這裏我們可以舉個例子來試驗一下: def deco1(func):

原创 python-裝飾器的詳解和使用

文章目錄1、什麼是裝飾器?2、爲什麼要使用裝飾器?3、裝飾器的使用4、總結5、發散:多個裝飾器的裝飾順序 1、什麼是裝飾器? 裝飾器就是 @函數名 ,加在被裝飾函數之前。有時候我們需要對函數功能進行擴展,但是又必須遵守開閉原則(

原创 git下載太慢,想要快速下載git包怎麼辦

想要下載GitHub的數據,通常要用到git clone這個命令,那麼前提是必須要下載並按裝好git。 如果去官網下載,因爲是國外的源,速度特別慢。反正我是轉了半天沒進去。 這裏提供另外一個國內源,下載速度飛快。 https://

原创 python-高階函數及閉包的詳解和使用

文章目錄1、高階函數的特點2、高階函數2.1 接受函數作爲參數2.2 返回值爲函數(也稱作閉包)2.2.1 閉包的好處 1、高階函數的特點 什麼叫高階函數呢? 類比數學中的定義,數學中是指三次及以上的冪運算,那在這裏我們就能想到至

原创 深複製和淺複製的區別(列表和numpy數組的區別)

文章目錄1、淺複製1.1列表1.2字典2、深複製2.1 列表2.2 字典3、總結 在python中很多時候需要進行復制的操作,比方說給一個變量賦值爲另一個變量,這就是一個複製。 事實上,對於不同類型的對象,有的時候這種複製是深複製

原创 matplotlib-完美條形圖的完整繪製方法

文章目錄1、條形圖適用情景2、條形圖的繪製2.1 橫向2.2 縱向3、充分發掘條形圖的美3.1 plt.bar()3.2 plt.barh() 1、條形圖適用情景 使用寬度相同的條形來表示數據的多少。 主要用於比較兩組數據之間的差

原创 python-global的詳細使用

  有一點基礎的應該都知道,這個global關鍵字,用於聲明後面的變量是全局變量。   下面分幾種情況進行說明: 1、沒有global 1.1 函數內部可以訪問外部的變量 a=1 def hi(): print(f'a:{

原创 python-函數的使用(2)

文章目錄6、返回值7、說明文檔8、作用域8.1 全局作用域8.2 函數作用域8.3 global的使用9、命名空間10、遞歸函數 6、返回值   函數可以沒有返回值,這時候你調用它只會執行函數內部的語句。這個函數是沒有內涵的。它的

原创 python_numpy中,shape=(1,4)和(4,)的區別

  按照慣性思維,似乎兩個形狀指的都是1行4列,哪裏有什麼不一樣嘛,懷疑我的高數嗎,沒下過100分呢。   儘管嘴上說這不可能,心裏還是不服氣,還是要試一下吧(-) import numpy as np arr1=np.arang

原创 python-numpy的詳細使用

文章目錄1、創建N維數組1.1 np.array()1.1.1 使用np.array()創建數組1.1.2 自定義dtype1.2 np.asarray()1.3 np.arange()1.4 np.zeros1.5 array.