python 基礎知識點(一)
阿新 • • 發佈:2018-12-13
1、簡述解釋型和編譯型程式語言?
概念:
- 編譯型語言:把做好的源程式全部編譯成二進位制程式碼的可執行程式。然後,可直接執行這個程式。
- 解釋型語言:把做好的源程式翻譯一句,然後執行一句,直至結束!
區別:
- 編譯型語言,執行速度快、效率高;依賴編譯器、跨平臺性差些。如C、C++、Delphi、Pascal,Fortran。
- 解釋型語言,執行速度慢、效率低;依賴直譯器、跨平臺性好。如Java、Basic
2、Python直譯器種類以及特點
- CPython
- c語言開發的 使用最廣的直譯器
- IPython
- 基於cpython之上的一個互動式計時器 互動方式增強 功能和cpython一樣
- 基於cpython之上的一個互動式計時器 互動方式增強 功能和cpython一樣
- PyPy
- 目標是執行效率 採用JIT技術 對python程式碼進行動態編譯,提高執行效率
- JPython
- 執行在Java上的直譯器 直接把python程式碼編譯成Java位元組碼執行
- IronPython
- 執行在微軟 .NET 平臺上的直譯器,把python編譯成. NET 的位元組碼
3、python常見的PEP8規範
- 每級縮排用4個空格
- Python 3中不允許混合使用Tab和空格縮排。
- 限制所有行的最大行寬為79字元。
- 在核心Python釋出的程式碼應該總是使用UTF-8(ASCII在Python 2)。
- 推薦絕對路徑匯入,因為它們通常更可讀
4、通過程式碼實現如下進位制轉換
hex() 轉換一個整數物件為十六進位制的字串 >>> hex(16) '0x10' >>> hex(18) '0x12' >>> hex(32) '0x20'
oct() 轉換一個整數物件為八進位制的字串 >>> oct(8) '0o10' >>> oct(166) '0o246'
bin() 轉換一個整數物件為二進位制字串 >>> bin(10) '0b1010' >>> bin(255)'0b11111111'
chr() 轉換一個[0, 255]之間的整數為對應的ASCII字元 >>> chr(65) 'A' >>> chr(67) 'C' >>> chr(90) 'Z' >>> chr(97) 'a'
ord() 將一個ASCII字元轉換為對應整數 >>> ord('A') 65 >>> ord('z') 122
16進位制轉10進位制 >>> int('10', 16) 16 >>> int('0x10', 16) 16 8進位制轉10進位制 >>> int('0o10', 8) 8 >>> int('10', 8) 8 2進位制轉10進位制 >>> int('0b1010', 2) 10 >>> int('1010', 2) 10
5、python遞迴的最大層數
import sys sys.setrecursionlimit(100000) def foo(n): print(n) n += 1 foo(n) if __name__ == '__main__': foo(1)
官網上是1000 #得到的最大數字在3925-3929之間浮動,這個是和計算機有關係的,不然也不會是一個浮動的數字了
6、三元運算規則以及應用場景
- 三元運算子就是在賦值變數的時候,可以直接加判斷,然後賦值
- 三元運算子的功能與'if....else'流程語句一致,它在一行中書寫,程式碼非常精煉,執行效率更高
- 格式:[on_true] if [expression] else [on_false]
- res = 值1 if 條件 else 值2