Python基礎知識筆記(一)
一. CPU、記憶體、硬碟及作業系統之間的關係
1. CPU——中央處理器,運算中心與控制中心,相當於人的大腦。
2. 記憶體——暫時儲存資料,將應用程式載入到其中,以便與CPU進行資料傳輸互動。
3. 硬碟——即所謂的磁碟(如D盤,E盤),用於長期儲存資料。
優點:斷電不消失。
缺點:處理速度慢。
4. 作業系統——是一個軟體,負責軟體與硬體之間的互動,排程。
二. Python應用
目前Python主要應用領域:
- 雲端計算——雲端計算最火的語言, 典型應用: OpenStack。
- WEB開發——眾多優秀的WEB框架,眾多大型網站均為Python開發: Youtube, Dropbox, 豆瓣等等,典型WEB框架:Django。
- 科學運算、人工智慧——典型庫 NumPy, SciPy, Matplotlib, Enthought librarys, pandas。
- 系統運維——運維人員必備語言。
- 金融——量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c, c++, java,尤其擅長策略回測。
- 圖形GUI——PyQT, WxPython, TkInter。
三. Python 2x 與 Python 3x 的區別(重點)
1. Python 2x
由於各個程式語言的大牛都會給Python社群貢獻原始碼,導致在疏於管理的前提下,Python 2x 的原始碼比較混亂,冗餘。
2. Python 3x
規範了原始碼,使其更優美簡單。
四. 程式語言的分類(重點)
1. 解釋型語言的特點:
a. 逐行解釋,逐行執行
b. 代表語言: Python
c. 優點:開發效率高,可以跨平臺
d. 缺點:執行效率相對慢
2. 編譯型語言的特點:
a. 將程式全部編譯成二進位制,然後再執行
b. 代表語言: C
c. 優點:執行效率高
d. 缺點:開發效率低,不能跨平臺
e. 適用於大資料的計算、底層開發等,比如研究所
五. Python 語言的優點
1. 它是一種高階語言,不用關心底層記憶體指標等
2. 可移植性:Windows --> Linux,不同環境的移植
3. 可嵌入性:Python 可以嵌入 C 語言程式碼
4. 可拓展性:C 語言也可以嵌入 Python 的程式碼
5. 開發效率高:第三方庫豐富,模組多等
六. Python 的種類(瞭解)
1. Cpython:
官方推薦使用,Python 程式碼可以轉化成 C 語言能識別的位元組碼,然後再轉化成 0101010101...
2. Jpython:
python 程式碼可以轉化成 java 語言能識別的位元組碼,然後再轉化成 010101010101...
3. 還有 Ipython、 pypy 等。
七. 執行 Python 代前應知道的一些知識
1. Python 2x 與 Python 3x 編碼方式不同:
Python 2x 預設的編碼是 ASIIC, 需在檔案首行加上這個:
1 # -*- encoding: uft-8 -*-
Python 3x 預設的編碼是 utf-8
2. 變數
a. 變數的作用——將程式中一些中間結果暫存到記憶體,以便後續程式呼叫
b. 變數命名規則:
1) 變數名必須由數字、字母、下劃線的任意組合
2) 變數名不能是數字開頭
3) 不能使用 Python 中的關鍵字
4) 變數名要具有可描述性
5) 變數名不能過長
6) 變數名不能用中文,也不要用拼音
7) 變數名用下劃線方式更好,如 "Age_of_Jane = 15"
3. 常量
約定俗成,將變數全部變成大寫形式, 就是常量。因此寫程式時將一些不想讓別人改變的量設定成常量,放在程式的最上面首行。
4. 基礎資料型別
int——整數型
str——字串
bool——布林值
(先了解這三種,後續還有其他資料型別)
5. type() 可以判斷一個 (物件) 變數是什麼資料型別
1 1 1 # 觀察列印結果發現一個顯示是字串,另一個顯示是整數 2 2 2 age01 = input("請輸入你的名字: ") 3 3 3 print(age01, type(age01)) 4 4 4 5 5 5 age02 = int(input("請輸入你的名字: ")) # 注意 int() 裡只能是數字組成的字串才能轉換成數字 6 6 6 print(age02, type(age02))
6. if 條件語句
1 1 # if 巢狀 2 2 username = input('請輸入使用者名稱:') 3 3 password = int(input('請輸入密碼:')) 4 4 if username == '太白金星': 5 5 if password == '123': 6 6 print('登入成功!') 7 7 # 注意這裡加個 else 以便更完善這個邏輯 8 8 else: 9 9 print('密碼錯誤!') 10 10 else: 11 11 print('使用者名稱不存在!')
1 # 記住 Python 程式執行時是逐行解釋,逐行執行的,即從上往下執行 2 # 所以 if 條件語句中遇到一個條件符合,整個 if 條件下的程式碼塊即停止執行 3 4 number = int(input("請輸入數字: ")) 5 6 if number == 3: 7 print("我請你吃飯!") 8 elif number > 5: 9 print("我請你去香港玩!") 10 elif number > 8: 11 print("我請你唱K!") 12 else: 13 print("全都沒才對...") 14 15 # 執行時輸入數字 10,會發現只會列印 "我請你去香港玩!",不會打印出 "我請你唱K!"