1. 程式人生 > >Python基礎知識筆記(一)

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!"