1. 程式人生 > >python 基礎知識點(一)

python 基礎知識點(一)

1、簡述解釋型和編譯型程式語言?

概念:

  • 編譯型語言:把做好的源程式全部編譯成二進位制程式碼的可執行程式。然後,可直接執行這個程式。
  • 解釋型語言:把做好的源程式翻譯一句,然後執行一句,直至結束!

區別:

  • 編譯型語言,執行速度快、效率高;依賴編譯器、跨平臺性差些。如C、C++、Delphi、Pascal,Fortran。
  • 解釋型語言,執行速度慢、效率低;依賴直譯器、跨平臺性好。如Java、Basic

2、Python直譯器種類以及特點

  • CPython
    • c語言開發的 使用最廣的直譯器
  • IPython
    • 基於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