CPython
,由C語言開發的,使用最廣的解釋器java
IPython
,基於cpython之上的一個交互式計時器,交互方式加強,功能和CPython同樣pypy
,目標是執行效率,對python代碼進行動態編譯,提升執行效率JPython
,運行在java上的解釋器,直接把python代碼編譯成java字節碼執行IronPython
,運行在微軟.NET平臺上的解釋器,把python編譯成.NET的字節碼python
編譯型語言, (先編譯打包,後執行)code
使用專門的編譯器,針對特定的平臺,將高級語言源代碼一次性的編譯成可被該平臺硬件執行的機器碼,幷包裝成該平臺所能識別的可執行性程序的格式orm
一次性的編譯成平臺相關的機器語言文件,運行時脫離開發環境,運行效率高對象
解釋型語言,(依賴解釋器, 提供相應的解釋器,就能夠運行源代碼 )內存
解釋型語言不須要事先編譯,其直接將源代碼解釋成機器碼並當即執行,因此只要某一平臺提供了相應的解釋器便可運行該程序 。開發
解釋型語言每次運行都須要將源代碼解釋稱機器碼並執行,效率較低字符串
` 1TB=1024GB,
1GB=1024MB;
1MB=1024KB;
1KB=1024B;
1B=8bit`編譯器
python2有int和long int類型,python3只有int類型string
python2的str就是python3的Unicode
python2的bytes就是python3的str
== 是比較值是否相同
is 是比較id是否相同
a,b = b,a
引用計數,當指向該內存的引用爲0時回收
標記清除,第一階段標記,第二階段清楚
分代清除, 爲了更合理的進行【標記-刪除】 ,代數越高的對象(存活越持久的對象),進行【標記-刪除】的時間間隔就越長
v1 = 1 or 3 1 v2 = 1 and 3 3 v3 = 0 and 2 and 1 0 v4 = 0 and 2 or 1 1 v5 = 0 and 2 or 1 or 4 1 v6 = 0 or Flase and 1
對python而言
其一, 在不加括號時候, and優先級大於or
其二, x or y 的值只多是x或y. x爲真就是x, x爲假就是y
第三, x and y 的值只多是x或y. x爲真就是y, x爲假就是x
例一: 對於, 1 or 5 and 4: 先算5 and 4, 5爲真, 值爲4. 再算1 or 4, 1 爲真,值爲1 對於, (1 or 5) and 4: 先算1 or 5, 1爲真, 值爲1. 再算1 and 4, 1爲真,值爲4