2019 版_Python 常見的 170 道面試題全解析:語言特性

語言特性

  1. 談談對 Python 和其他語言的區別
  2. 簡述解釋型和編譯型編程語言
  3. Python 的解釋器種類以及相關特點?
  4. Python3 和 Python2 的區別?
  5. Python3 和 Python2 中 int 和 long 區別?
  6. xrange 和 range 的區別?

1. 談談對 Python 和其他語言的區別

:Python 是一門語法簡潔優美,功能強大無比,應用領域非常廣泛,具有強大完備的第三方庫,他是一門強類型的可移植、可擴展,可嵌入的解釋型編程語言,屬於動態語言。

拿 C 語言和 Python 比: Python 的第三方類庫比較齊全並且使用簡潔,很少代碼就能實現一些功能,如果用 C 去實現相同的功能可能就比較複雜。但是對於速度來說 Python 的運行速度相較於 C 就比較慢了。所以有利的同時也有弊端,畢竟我們的學習成本降低了。

2. 簡述解釋型和編譯型編程語言

:解釋型語言是在運行程序的時候才翻譯,每執行一次,要翻譯一次,效率較低。 編譯型就是直接編譯成機型可以執行的,只翻譯一次,所以效率相對來說較高。

3. Python 的解釋器種類以及相關特點?

  • CPython c 語言開發的,使用最廣的解釋器
  • IPython 基於 cPython 之上的一個交互式計時器,交互方式增強功能和 cPython 一樣
  • PyPy 目標是執行效率,採用 JIT 技術。對 Python 代碼進行動態編譯,提高執行效率
  • JPython 運行在 Java 上的解釋器,直接把 Python 代碼編譯成 Java 字節碼執行
  • IronPython 運行在微軟 .NET 平臺上的解釋器,把 Python 編譯成 . NET 的字節碼。

4. Python3 和 Python2 的區別?

: 這裏例舉 5 條

  1. print 在 Python3 中是函數必須加括號,Python2 中 print 爲 class。
  2. Python2 中使用 xrange,Python3 使用 range。
  3. Python2 中默認的字符串類型默認是 ASCII,Python3 中默認的字符串類型是 Unicode。
  4. Python2 中/的結果是整型,Python3 中是浮點類型。
  5. Python2 中聲明元類:_metaclass_ = MetaClass,Python3 中聲明元類:class newclass(metaclass=MetaClass):pass。

5. Python3 和 Python2 中 int 和 long 區別?

:Python2 有 int 和 long 類型。int 類型最大值不能超過 sys.maxint,而且這個最大值是平臺相關的。可以通過在數字的末尾附上一個L來定義長整型,顯然,它比 int 類型表示的數字範圍更大。在 Python3 裏,只有一種整數類型 int,大多數情況下,和 Python2中的長整型類似。

6. xrange 和 range 的區別?

:xrange 是在 Python2 中的用法,Python3 中只有 range xrange 用法與 range 完全相同,所不同的是生成的不是一個 list 對象,而是一個生成器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章