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 => 0b101
1 => 0b1
-1 => -0b1
bin(-1)
反碼
正數將原碼按位取反;負數符號位不變其餘按位取反
補碼
正數的補碼是其本身;負數符號位不變其餘按位取反後+1
總結: 計算機返回給用戶是原碼 補碼的補碼爲原碼
示例:
5 - 1 = ?
0000 0101 5(原)
0000 0001 1(原)
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
```