天天看點

python基礎知識

python_1

Python解釋器

CPython
    C語言開發的Python解釋器,最廣泛
    IPython
        一個互動式、功能增強的CPython
Pypy
    Python語言寫的Python解釋器,JIT技術,動态編譯Python代碼
Jpython
    Python的源代碼編譯為Java的位元組碼,跑在JVM上
IronPython
    與Jython類似,運作在.Net平台上的解釋器,Python代碼被編譯成.Net的位元組碼      

Python基礎文法

python的語言類型(動态、強類型)
    靜态編譯語言
        事先聲明變量類型,類型不能再改變
        編譯時檢查類型
    動态編譯語言
        不用事先聲明類型,随時可以指派為其他類型
        程式設計時不知道是什麼類型,很難推斷
    強類型語言
        不同類型之間操作,必須先強制類型轉換為同一類型.
    弱類型語言
        不同類型間可以操作,自動隐式轉換,JavaScript中console.log(1+'a')      

注釋— # 标注文本

數字
    整數,不區分long和int
        進制0xa、0ob10、0b10
        bool,True、False
    浮點數
    複數
字元串
    字首r或R,把裡面的所有字元當普通字元對待   
轉義序列
縮減
續行
辨別符
常量
字面常量
變量
運算符
    算術運算符
    位運算符
        原碼,反碼,補碼,負數表示法
    比較運算符
        ==,!= 可做不同類型值的比較,其餘不可
    邏輯運算符
    指派運算符
    身份運算符
    運算符優先級
表達式
    算數表達式
    邏輯表達式
    指派表達式
        指派即定義
記憶體管理
    記憶體回收以及記憶體碎片整理
程式控制
    順序
    分支
    循環
真值表
    非零為真,非None為真,非'空集合'為真
    空集合:
        空字元串
        空字典
        空清單
        空元組      
總結:
    計算機傳回給使用者是原碼
    補碼的補碼為原碼      
5 - 1 = 5 + (-1)
0000 0101   5
1000 0001   -1(原)
1111 1111   -1(補碼)

    結果: 10000 0100 舍棄第九位得結果0000 0100,表示0b100

~12 = ?

~:按位非

0000 1100 12(原)
          ~
1111 0011 負數(負數在計算機中使用補碼存儲,需要轉換為原碼輸出)
1000 1101 -13(原碼)

    結果: ~12=-13

10^9=?
10^-9=?

^ 按位異或

0000 1010 10(原碼)
0000 1001 9(原碼)
          ^ 操作
0000 0011 3(原碼)

0000 1010 10(原碼)
1000 1001 -9(原碼)
          ^ 操作
1000 0011 -3(原碼)

    結果: 10^9=3,10^-9=-3