文:藍兔子讀難NOTES
圖: 配圖 來源於網絡
Python3 量化分析從小白到破產筆記
基礎數據類型-認識變量
編碼:0003
最前面先放個簡易目錄,理清思緒好上路。
python基礎:
編程環境準備學習路線規劃當前=>基礎數據類型:變量、字符串~基礎語法與規範:注釋、縮進~常用運算符:平方、與或非~程序3種執行結構:順序、分支、循環高階數據類型:列表、字典~函數:定義、調用、傳參~高級特性:切片、迭代~文件讀寫:打開、保存~異常處理:~常用內置函數匯總:~常用內置模塊:os、datetime~python 包:numpy、pandas~數據獲取:
tushare(直接獲取交易數據)
處理和分析數據:
Numpy(數組、矩陣)Pandas(表格、excel)Scipy(數理統計)
可視化:
Matplotlib(畫圖)seaborn(畫圖)
在開始之前,我們先來說說python的兩種基本編程方式,一種是交互式,一種是腳本式。
所謂交互式,就是像敲命令一樣,寫一句,執行一句。我們直接在電腦終端中鍵入「python3」即可進入該模式:
而腳本式,則是一下子全部將代碼寫好,存成一份文件,運行的時候一次運行完。注意python的代碼文件後綴是「.py」,這個就和圖片文件的後綴是「.JPG」一個道理。可以用windows自帶的記事本文件寫代碼,然後把後綴名從「.txt」改成「.py」。
要執行這個代碼文件,直接在終端裡面輸入「python3 ***.py」即可,其中***為你的文件名。主要,需要確保終端的工作目錄和你存放這個文件的目錄一樣,不然就會提示文件不存在。
上面是兩種最基本的編程方式,而我們如果使用jupyter notebook,則可以更花式一點,兩種方法結合起來。首先是交互式,在notebook中,如果需要交互式執行,則敲完一句就執行即可;如果需要敲一大片代碼再執行,則直接敲一片再執行即可。
寫一句執行一句:
寫一段執行一段:
我們後面的內容,一般都是在jupyter notebook中進行。
下面正式開始我們本次的學習-基礎的數據類型。python之所以上手快,就是和他的數據類型有關,數據類型基本是編程學習的第一課,然而在其他語言中,比如C語言,光是數據類型這一第一節課,就足以讓人有放棄的念頭。
什麼是數據類型呢?計算機無論多麼複雜,他本質上就是做數值計算的,所以它也只能做計算。雖然從表面上來看,他可以處理圖片,音視頻、文本等,但是本質上,還是在對數據進行處理。而編程,就是告訴計算機,如何處理目標數據。
當我們把數據給計算機進行處理的時候,我們需要告訴他,這是何種數據,他才知道該怎麼處理。在程式語言中,無論何種程式語言,一般都包含以下幾種基本數據類型:
整型(整數)、浮點型(小數)、字符型(字母)、字符串型(一串字母)、布爾型(對或者錯)、空(沒有東西)等。如果其他語言,我們在告訴計算機一個數據的時候,還得告訴他這是哪種數據。並且有時候還不止這樣,整型又得分長整型、短整型等,總之就是搞得你雲裡霧裡的。
而python則在這方面非常友好,我們在告訴計算機一個數據的時候,直接把數據給他就行,他自己會去識別這是個什麼東東。雖然作為小白,咱不知道這意味著什麼,但這絕對能讓咱學起來和用起來都更輕鬆。在 python中,我們在準備數據的時候,雖然不需要告訴計算機是什麼類型的數據,但是我們知道這些數據類型是什麼意思還是很有必要的。
我們先來了解一下變量的概念。在計算機運行時,數據是存到內存裡面的,我們可以把內存想像成一片大牆壁,裡面全是密密麻麻的抽屜,每一個抽屜都是用來存放數據的。每一個抽屜上面都貼有標籤,標籤上面寫了抽屜裡面裝了什麼東西(數據),當我們要找東西時,去看這個標籤就可以找到了。
我們把這些抽屜叫做內存的單元,抽屜裡面的東西,就是存在內存單元裡面的數據。而貼在抽屜上的標籤呢,分成兩種,一種是可以擦掉的標籤,即標籤上寫的東西可以擦掉,在寫成別的內容,我們把這種標籤的名字叫做變量名。舉個例子,某一張叫做a的標籤,標籤裡面寫的數據為 5 ,然後被貼到了一個抽屜上,這個抽屜裡面裝的也是一個5。後來,標籤不夠用了,這個標籤被撕下來,貼到了另一個抽屜上,抽屜裡面是 8 ,同時標籤a裡面的5被擦掉,改寫成8。
如果標籤內容不能更改,例如只能是5,那麼這個標籤就是一個常量,對應的標籤名為常量名。一般習慣上,變量名用小寫,例如a;而常量名用大寫,例如A。我們用這個標籤,拿去貼到內存的某一個抽屜上,就是告訴作業系統,內存的這片區域我佔啦。具體在程序中實現的的方式如下:
程序中a、PI就是標籤的名字(變量名),當電腦執行到這裡時,看到這個標籤名,就會把這個a和PI標籤貼到內存的抽屜上,而後面的 = 則是告訴計算機,給抽屜裡面先放個什麼東西。後面當我們再需要使用這些東西的時候,直接去找標籤的名字,打開對應的抽屜就可以了。抽屜裡面可以放各種各樣的數據,比如放個單詞或者放個數字,我們把這些類型就叫做數據類型。
下面來看數據類型,python中可以使用type函數去識別某個標籤裡面存的數據是什麼類型,我們先看看最簡單的幾種類型。
整型 int(整數),這都很好理解的概念,他包括負整數、正整數,以及0。由於我們人類的自然語言習慣使用十進位表示整數,所以計算機中的整數也是默認為十進位,如果要用十六進位表示,則應當以0x開頭。
浮點型 float(小數),和我們自然語言的小數一個概念。python中,浮點數可以用近似科學記數法的方式表示,0.000012可以寫成1.2e-5。
字符串 str,在python中,字符相當於只有一個字母的字符串,所以沒有單獨的字符類型。與小數和浮點數的直接表示方法不一樣,字符串需要用引號擴起來,且必須是英文引號,但是單引號和雙引號都可以使用。字符串裡面並不僅僅只能是字母,可以是各種字符。如果字符串裡面需要用到引號或其他特殊符號,可以用轉義符 \ 。
轉義字符\可以轉義很多字符,比如\n表示換行,\t表示制表符,字符\本身也要轉義,所以\\表示的字符就是\,具體的實際遇到的時候百度就可以查到。
下面,我們使用type函數來看看,上面的幾個標籤都是什麼數據類型:
另外在python基礎的數據類型中,還有空和布爾兩種數據類型。其中空類型 NoneType,表示對應的標籤裡面為空,注意為空不是為0,為0代表著抽屜裡面放了一個0,而為空則是抽屜裡面什麼也沒有放。布爾類型 bool,的值為True或者False,代表了真和假這兩種情況。
總結下,python的基礎數據類型為:
整型int(1、4、0)、
浮點型float(3.13、5.3、9.0)、
字符串str(「hello」、「你好」)、
空類型NoneType(None)和
布爾型bool(True、False)。
當我們需要向系統申請一個內存空間來存數據時,直接給個標籤給系統就行,首次申請空間(遞交標籤)時,還要告訴系統標籤的內容,也就是抽屜裡面要放什麼,這樣計算機才知道要多大的抽屜。後面再次使用這個數據時,直接使用標籤即可,因為標籤上內容可以擦了重寫,所以叫變量(標籤名,也就是變量名是不能改的)。
現在,我們已經了解了什麼是變量和最基本的數據類型,下次我們再來看看python代碼格式的常見規矩。
相關文章
Python3 量化分析筆記從小白到破產-編程環境準備
Python3 量化分析筆記從小白到破產-學習路線規劃
CFA一級財報分析-財務報告質量
CFA一級財報分析-長期資產
CFA一級財報分析-企業所得稅