91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Python基礎的面試題

發布時間:2020-08-05 17:44:26 來源:億速云 閱讀:152 作者:小新 欄目:編程語言

小編給大家分享一下關于Python基礎的面試題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Python基礎篇

1、為什么學習Python

家里有在這個IT圈子里面,也想讓我接觸這個圈子,然后給我建議學的Python,然后自己通過百度和向有學過Python的同學了解了Python,Python這門語言,入門比較簡單,它簡單易學,生態圈比較強大,涉及的地方比較多,特別是在人工智能,和數據分析這方面。在未來我覺得是往自動化,人工智能這方面發展的,所以學習了Python。

2、通過什么途徑學習Python

剛開始接觸Python的時候,到網上里面跟著視頻學基礎,再后來網上到看技術貼,然后看到有人推薦廖雪峰的Python教程,

練項目到GitHub上面找一些小項目學習。

3、談談對Python和其他語言的區別

Python屬于解釋型語言,當程序運行時,是一行一行的解釋,并運行,所以調式代碼很方便,開發效率高,

還有龜叔給Python定位是任其自由發展、優雅、明確、簡單,所以在每個領域都有建樹,所有它有著非常強大的第三方庫。

特點:

語法簡潔優美,功能強大,標準庫與第三方庫都非常強大,而且應用領域也非常廣

可移植性,可擴展性,可嵌入性

缺點:運行速度慢

- 解釋型

    - python/php

- 編譯型

    - c/java/c#     

- Python弱類型

 (1)與java相比:在很多方面,Python比Java要簡單,比如java中所有變量必須聲明才能使用,而Python不需要聲明,用少量的代碼構建出很多功能;(高效的高級數據結構)

(2)與php相比:python標準包直接提供了工具,并且相對于PHP代碼更易于維護;

(3)Python與c相比:

Python 和 C Python這門語言是由C開發而來。

對于使用:Python的類庫齊全并且使用簡潔,如果要實現同樣的功能,Python 10行代碼可以解決,C可能就需要100行甚至更多。

對于速度:Python的運行速度相較與C,絕逼是慢了。

Python的優勢:

1、Python 易于學習;

2、用少量的代碼構建出很多功能;(高效的高級數據結構)

3、Python 擁有最成熟的程序包資源庫之一;

4、Python完全支持面向對象;

5、Python是跨平臺且開源的;

6、動態類型。

4、簡述解釋型和編譯型編程語言

解釋型:就是邊解釋邊執行(Python,php)

編譯型:編譯后再執行(c、java、c#)

5、Python的解釋器種類以及相關特點?

CPython

當我們從Python官方網站下載并安裝好Python 3.6后,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,所以叫CPython。在命令行下運行python就是啟動CPython解釋器。

CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執行。

IPython

IPython是基于CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但內核其實都是調用了IE。

CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。

PyPy

PyPy是另一個Python解釋器,它的目標是執行速度。PyPy采用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。

絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執行可能會有不同的結果。如果你的代碼要放到PyPy下執行,就需要了解PyPy和CPython的不同點。

Jython

Jython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節碼執行。

IronPython

IronPython和Jython類似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節碼。

小結:

Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是通過網絡調用來交互,確保各程序之間的獨

PyPy

由Python寫的解釋器,它的執行速度是最快。PyPy采用JIT技術,對Python代碼進行動態編譯(注意不是解釋),

絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執行可能會有不同的結果。

Jython

Jython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節碼執行。

IronPython

IronPython和Jython類似,只不過IronPython是運行在.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節碼。

小結:

Python的解釋器很多,但使用最廣泛的還是CPython。如果要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是通過網絡調用來交互,確保各程序之間的獨立性。

6、位和字節的關系

1字節 = 8 位
位(bit),數據存儲是以“字節”(Byte)為單位,數據傳輸是以大多是以“位”(bit,又名“比特”)為單位,
一個位就代表一個0或1(即一個二進制),二進制是構成存儲器的最小單位,每8個位(bit,簡寫為b)組成一個字節(Byte,
簡寫為B),字節是最小一級的信息單位

7、b、B、KB、MB、GB的關系

b --->位(bit)    
B --->字節      一個字節等于8位
1B = 8 bit
1kb = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB

8、PE8規范

1、使用4個空格而不是tab鍵進行縮進。
2、每行長度不能超過79
3、使用空行來間隔函數和類,以及函數內部的大塊代碼
4、必要時候,在每一行下寫注釋
5、使用文檔注釋,寫出函數注釋
6、在操作符和逗號之后使用空格,但是不要在括號內部使用
7、命名類和函數的時候使用一致的方式,比如使用CamelCase來命名類,使用lower_case_with_underscores來命名函數和方法
8、在類中總是使用self來作為默認
9、盡量不要使用魔法方法
10、默認使用UTF-8,甚至ASCII作為編碼方式
11、換行可以使用反斜杠,最好使用圓括號。
12、不要在一句import中多個庫,
13、空格的使用

9、通過代碼實現如下轉換(進制之間轉換)

# 二進制轉換成十進制-->int
v = "0b1111011"
b = int(v,2)
print(b)  # 123
# 十進制轉換成二進制--->bin
v2 = 18
print(bin(int(v2)))
# 0b10010
# 八進制轉換成十進制
v3 = "011"
print(int(v3))
# 11
# 十進制轉換成八進制:---> oct
v4 = 30
print(oct(int(v4)))
# 0o36
# 十六進制轉換成十進制:
v5 = "0x12"
print(int(v5,16))
# 18
# 十進制轉換成十六進制:---> hex
v6 = 87
print(hex(int(v6)))
# 0x57

10、請編寫一個函數實現將IP地址轉換成一個整數

請編寫一個函數實現將IP地址轉換成一個整數。
如 10.3.9.12 轉換規則為:
        10           00001010
?        3            00000011?
        9            00001001
?        12           00001100?
再將以上二進制拼接起來計算十進制結果:00001010 00000011 00001001 00001100 = ?
def v1(addr):
    # 取每個數
    id = [int(x) for x in addr.split(".")]
    print(id)
    return sum(id[i] << [24, 16, 8, 0][i] for i in range(4))
print(v1("127.0.0.1"))
# [127, 0, 0, 1]
# 2130706433

以上是關于Python基礎的面試題的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌宁县| 鹤庆县| 涡阳县| 富平县| 汉沽区| 营口市| 北海市| 定西市| 宁蒗| 当涂县| 宜州市| 福建省| 鹿邑县| 潞西市| 邢台市| 高邮市| 津市市| 万盛区| 双流县| 陕西省| 巴中市| 花垣县| 澄迈县| 米泉市| 青川县| 新乡市| 旌德县| 佛教| 师宗县| 平舆县| 山阴县| 城固县| 云霄县| 志丹县| 桐乡市| 当雄县| 南昌市| 麻栗坡县| 东台市| 屏山县| 永宁县|