亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 44168 | 回復(fù): 0
打印 上一主題 下一主題

打印 上一主題 下一主題 52道常見Python面試題,你都能答對(duì)嗎?26-52 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2019-02-27 22:41 |只看該作者 |倒序?yàn)g覽
[color=rgba(0, 0, 0, 0.75)]Q.27. 解釋 Python 中的賦值和算數(shù)運(yùn)算符?
[color=rgba(0, 0, 0, 0.75)]


[color=rgba(0, 0, 0, 0.75)]Q.28. 解釋 Python 中的邏輯運(yùn)算符
[color=rgba(0, 0, 0, 0.75)]

Python 中有三個(gè)邏輯運(yùn)算符:and、or、not


[color=rgba(0, 0, 0, 0.75)]Q.29. 解釋 Python 中的成員運(yùn)算符
[color=rgba(0, 0, 0, 0.75)]

使用 in 和 not in 運(yùn)算符我們可以判斷某個(gè)值是否在成員中。


[color=rgba(0, 0, 0, 0.75)]Q.30. 解釋 Python 中的身份運(yùn)算符
[color=rgba(0, 0, 0, 0.75)]

這是非常常見的 Python 面試題,用下面的示例來回答.
is 和 not is 運(yùn)算符可以判斷兩個(gè)對(duì)象是否相同


[color=rgba(0, 0, 0, 0.75)]Q.31. 解釋 Python 中的位運(yùn)算符
[color=rgba(0, 0, 0, 0.75)]

此運(yùn)算符按二進(jìn)制位對(duì)值進(jìn)行操作。


[color=rgba(0, 0, 0, 0.75)]

1.與 (& 返回按位與結(jié)果

2


[color=rgba(0, 0, 0, 0.75)]

2.或 (|) 返回按位或結(jié)果

3


[color=rgba(0, 0, 0, 0.75)]

3.異或 (^) 返回按位異或結(jié)果

1


[color=rgba(0, 0, 0, 0.75)]

4.取反 (~) 返回按位取反結(jié)果

-3


[color=rgba(0, 0, 0, 0.75)]

5.左移位 (<< 將符號(hào)左邊數(shù)的二進(jìn)制左移右邊數(shù)位

4


[color=rgba(0, 0, 0, 0.75)]

1 的二級(jí)制 001 左移 2 位變成 100 也即十進(jìn)制的 4


[color=rgba(0, 0, 0, 0.75)]

6.右移位 (>>

1


[color=rgba(0, 0, 0, 0.75)]Q.32. 如何在 Python 使用多進(jìn)制數(shù)字?
[color=rgba(0, 0, 0, 0.75)]

除十進(jìn)制以外,在 Python 中還可以使用二進(jìn)制、八進(jìn)制、十六進(jìn)制。


[color=rgba(0, 0, 0, 0.75)]

1.二進(jìn)制數(shù)有 0 和 1 組成,我們使用 0b 或 0B 前綴表示二進(jìn)制數(shù)

10


[color=rgba(0, 0, 0, 0.75)]

使用 bin 函數(shù)可以將數(shù)字轉(zhuǎn)換為二進(jìn)制

‘0b1111’


[color=rgba(0, 0, 0, 0.75)]

2.八進(jìn)制數(shù)由數(shù)字 0-7 組成,使用前綴 0o 或 0O 表示 8 進(jìn)制數(shù)

‘0o10’


[color=rgba(0, 0, 0, 0.75)]

3.十六進(jìn)數(shù)由數(shù)字 0-15 組成,使用前綴 0x 或者 0X 表示 16 進(jìn)制數(shù)

‘0x10’

‘0xf’


[color=rgba(0, 0, 0, 0.75)]Q.33. 如何獲取字典中的所有鍵?
[color=rgba(0, 0, 0, 0.75)]

使用 keys 來獲取字典中的所有鍵


[color=rgba(0, 0, 0, 0.75)]Q.34. 問什么標(biāo)識(shí)符不建議使用下劃線開頭?
[color=rgba(0, 0, 0, 0.75)]

因?yàn)樵?Python 中以下劃線開頭的變量為私有變量,如果你不想讓變量私有,就不要使用下劃線開頭。


[color=rgba(0, 0, 0, 0.75)]Q.35. 如何聲明多個(gè)變量并賦值?
[color=rgba(0, 0, 0, 0.75)]

有兩種方式:


[color=rgba(0, 0, 0, 0.75)]Q.36. 什么是元組的解封裝?
[color=rgba(0, 0, 0, 0.75)]

首先我們來介紹元組封裝:

(3, 4, 5)


[color=rgba(0, 0, 0, 0.75)]

將 3,4,5 封裝到元組 mytuple 中。


[color=rgba(0, 0, 0, 0.75)]

現(xiàn)在我們要將這些值解封裝到變量 x,y,z 中

12


[color=rgba(0, 0, 0, 0.75)]Q.37. 簡(jiǎn)述面向?qū)ο笾衉_new__和__init__區(qū)別
[color=rgba(0, 0, 0, 0.75)]

__init__是初始化方法,創(chuàng)建對(duì)象后,就立刻被默認(rèn)調(diào)用了,可接收參數(shù)。


[color=rgba(0, 0, 0, 0.75)]

(1、__new__至少要有一個(gè)參數(shù)cls,代表當(dāng)前類,此參數(shù)在實(shí)例化時(shí)由Python解釋器自動(dòng)識(shí)別。


[color=rgba(0, 0, 0, 0.75)]

(2、__new__必須要有返回值,返回實(shí)例化出來的實(shí)例,這點(diǎn)在自己實(shí)現(xiàn)__new__時(shí)要特別注意,可以return父類(通過super(當(dāng)前類名, cls))__new__出來的實(shí)例,或者直接是object的__new__出來的實(shí)例。


[color=rgba(0, 0, 0, 0.75)]

(3、__init__有一個(gè)參數(shù)self,就是這個(gè)__new__返回的實(shí)例,__init__在__new__的基礎(chǔ)上可以完成一些其它初始化的動(dòng)作,__init__不需要返回值。


[color=rgba(0, 0, 0, 0.75)]

(4、如果__new__創(chuàng)建的是當(dāng)前類的實(shí)例,會(huì)自動(dòng)調(diào)用__init__函數(shù),通過return語句里面調(diào)用的__new__函數(shù)的第一個(gè)參數(shù)是cls來保證是當(dāng)前類實(shí)例,如果是其他類的類名,;那么實(shí)際創(chuàng)建返回的就是其他類的實(shí)例,其實(shí)就不會(huì)調(diào)用當(dāng)前類的__init__函數(shù),也不會(huì)調(diào)用其他類的__init__函數(shù)。


[color=rgba(0, 0, 0, 0.75)]Q.38.簡(jiǎn)述Django的orm
[color=rgba(0, 0, 0, 0.75)]

ORM,全拼Object-Relation Mapping,意為對(duì)象-關(guān)系映射。


[color=rgba(0, 0, 0, 0.75)]

實(shí)現(xiàn)了數(shù)據(jù)模型與數(shù)據(jù)庫的解耦,通過簡(jiǎn)單的配置就可以輕松更換數(shù)據(jù)庫,而不需要修改代碼只需要面向?qū)ο缶幊?orm操作本質(zhì)上會(huì)根據(jù)對(duì)接的數(shù)據(jù)庫引擎,翻譯成對(duì)應(yīng)的sql語句,所有使用Django開發(fā)的項(xiàng)目無需關(guān)心程序底層使用的是MySQL、Oracle、sqlite…,如果數(shù)據(jù)庫遷移,只需要更換Django的數(shù)據(jù)庫引擎即可。


[color=rgba(0, 0, 0, 0.75)]Q.39.列出常見MYSQL數(shù)據(jù)存儲(chǔ)引擎
[color=rgba(0, 0, 0, 0.75)]

InnoDB:支持事務(wù)處理,支持外鍵,支持崩潰修復(fù)能力和并發(fā)控制。如果需要對(duì)事務(wù)的完整性要求比較高(比如銀行),要求實(shí)現(xiàn)并發(fā)控制(比如售票),那選擇InnoDB有很大的優(yōu)勢(shì)。如果需要頻繁的更新、刪除操作的數(shù)據(jù)庫,也可以選擇InnoDB,因?yàn)橹С质聞?wù)的提交(commit)和回滾(rollback)。


[color=rgba(0, 0, 0, 0.75)]

MyISAM:插入數(shù)據(jù)快,空間和內(nèi)存使用比較低。如果表主要是用于插入新記錄和讀出記錄,那么選擇MyISAM能實(shí)現(xiàn)處理高效率。如果應(yīng)用的完整性、并發(fā)性要求比 較低,也可以使用。


[color=rgba(0, 0, 0, 0.75)]

MEMORY:所有的數(shù)據(jù)都在內(nèi)存中,數(shù)據(jù)的處理速度快,但是安全性不高。如果需要很快的讀寫速度,對(duì)數(shù)據(jù)的安全性要求較低,可以選擇MEMOEY。它對(duì)表的大小有要求,不能建立太大的表。所以,這類數(shù)據(jù)庫只使用在相對(duì)較小的數(shù)據(jù)庫表。


[color=rgba(0, 0, 0, 0.75)]Q.40.簡(jiǎn)述多線程、多進(jìn)程
[color=rgba(0, 0, 0, 0.75)]

進(jìn)程:


[color=rgba(0, 0, 0, 0.75)]

1、操作系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,多個(gè)進(jìn)程之間相互獨(dú)立
2、穩(wěn)定性好,如果一個(gè)進(jìn)程崩潰,不影響其他進(jìn)程,但是進(jìn)程消耗資源大,開啟的進(jìn)程數(shù)量有限制


[color=rgba(0, 0, 0, 0.75)]

線程:
1、CPU進(jìn)行資源分配和調(diào)度的基本單位,線程是進(jìn)程的一部分,是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位,一個(gè)進(jìn)程下的多個(gè)線程可以共享該進(jìn)程的所有資源
2、如果IO操作密集,則可以多線程運(yùn)行效率高,缺點(diǎn)是如果一個(gè)線程崩潰,都會(huì)造成進(jìn)程的崩潰


[color=rgba(0, 0, 0, 0.75)]

應(yīng)用:
IO密集的用多線程,在用戶輸入,sleep 時(shí)候,可以切換到其他線程執(zhí)行,減少等待的時(shí)間
CPU密集的用多進(jìn)程,因?yàn)榧偃鏘O操作少,用多線程的話,因?yàn)榫程共享一個(gè)全局解釋器鎖,當(dāng)前運(yùn)行的線程會(huì)霸占GIL,其他線程沒有GIL,就不能充分利用多核CPU的優(yōu)勢(shì)


[color=rgba(0, 0, 0, 0.75)]Q.41.IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分別代表什么異常
[color=rgba(0, 0, 0, 0.75)]

IOError:輸入輸出異常
AttributeError:試圖訪問一個(gè)對(duì)象沒有的屬性
ImportError:無法引入模塊或包,基本是路徑問題
IndentationError:語法錯(cuò)誤,代碼沒有正確的對(duì)齊
IndexError:下標(biāo)索引超出序列邊界
KeyError:試圖訪問你字典里不存在的鍵
SyntaxErrorython代碼邏輯語法出錯(cuò),不能執(zhí)行
NameError:使用一個(gè)還未賦予對(duì)象的變量


[color=rgba(0, 0, 0, 0.75)]Q.42.MyISAM 與 InnoDB 區(qū)別:
[color=rgba(0, 0, 0, 0.75)]

(1、InnoDB 支持事務(wù),MyISAM 不支持,這一點(diǎn)是非常之重要。事務(wù)是一種高級(jí)的處理方式,如在一些列增刪改中只要哪個(gè)出錯(cuò)還可以回滾還原,而 MyISAM就不可以了;


[color=rgba(0, 0, 0, 0.75)]

(2、MyISAM 適合查詢以及插入為主的應(yīng)用,InnoDB 適合頻繁修改以及涉及到安全性較高的應(yīng)用;


[color=rgba(0, 0, 0, 0.75)]

(3、InnoDB 支持外鍵,MyISAM 不支持;


[color=rgba(0, 0, 0, 0.75)]

(4、對(duì)于自增長(zhǎng)的字段,InnoDB 中必須包含只有該字段的索引,但是在 MyISAM表中可以和其他字段一起建立聯(lián)合索引;


[color=rgba(0, 0, 0, 0.75)]

(5、清空整個(gè)表時(shí),InnoDB 是一行一行的刪除,效率非常慢。MyISAM 則會(huì)重建表;


[color=rgba(0, 0, 0, 0.75)]Q.43.單引號(hào)、雙引號(hào)、三引號(hào)用法
[color=rgba(0, 0, 0, 0.75)]

(1、單引號(hào)和雙引號(hào)沒有什么區(qū)別,不過單引號(hào)不用按shift,打字稍微快一點(diǎn)。表示字符串的時(shí)候,單引號(hào)里面可以用雙引號(hào),而不用轉(zhuǎn)義字符,反之亦然。
'She said:“Yes.” ’ or "She said: ‘Yes.’ "


[color=rgba(0, 0, 0, 0.75)]

(2、但是如果直接用單引號(hào)擴(kuò)住單引號(hào),則需要轉(zhuǎn)義,像這樣:
’ She said:‘Yes.’ ’


[color=rgba(0, 0, 0, 0.75)]

(3、三引號(hào)可以直接書寫多行,通常用于大段,大篇幅的字符串
“”“helloworld”""


[color=rgba(0, 0, 0, 0.75)]Q.44.HTTP請(qǐng)求中g(shù)et和post區(qū)別
[color=rgba(0, 0, 0, 0.75)]

(1、GET請(qǐng)求是通過URL直接請(qǐng)求數(shù)據(jù),數(shù)據(jù)信息可以在URL中直接看到,比如瀏覽器訪問;而POST請(qǐng)求是放在請(qǐng)求頭中的,我們是無法直接看到的;


[color=rgba(0, 0, 0, 0.75)]

(2、GET提交有數(shù)據(jù)大小的限制,一般是不超過1024個(gè)字節(jié),而這種說法也不完全準(zhǔn)確,HTTP協(xié)議并沒有設(shè)定URL字節(jié)長(zhǎng)度的上限,而是瀏覽器做了些處理,所以長(zhǎng)度依據(jù)瀏覽器的不同有所不同;POST請(qǐng)求在HTTP協(xié)議中也沒有做說明,一般來說是沒有設(shè)置限制的,但是實(shí)際上瀏覽器也有默認(rèn)值。總體來說,少量的數(shù)據(jù)使用GET,大量的數(shù)據(jù)使用POST。


[color=rgba(0, 0, 0, 0.75)]

(3、GET請(qǐng)求因?yàn)閿?shù)據(jù)參數(shù)是暴露在URL中的,所以安全性比較低,比如密碼是不能暴露的,就不能使用GET請(qǐng)求;POST請(qǐng)求中,請(qǐng)求參數(shù)信息是放在請(qǐng)求頭的,所以安全性較高,可以使用。在實(shí)際中,涉及到登錄操作的時(shí)候,盡量使用HTTPS請(qǐng)求,安全性更好。


[color=rgba(0, 0, 0, 0.75)]Q.45.請(qǐng)盡可能列舉python列表的成員方法,并給出列表操作的答案:
[color=rgba(0, 0, 0, 0.75)]

(1) a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?
(2)一行代碼實(shí)現(xiàn)對(duì)列表a中的偶數(shù)位置的元素進(jìn)行加3后求和?
(3)將列表a的元素順序打亂,再對(duì)a進(jìn)行排序得到列表b,然后把a(bǔ)和b按元素順序構(gòu)造一個(gè)字典d。


[color=rgba(0, 0, 0, 0.75)]Q.46.請(qǐng)問下面的代碼有什么隱患?
[color=rgba(0, 0, 0, 0.75)]

def strtest1(num):
str = ‘first’
for i in range(num):
str += ’X’
return str


[color=rgba(0, 0, 0, 0.75)]

由于變量str是個(gè)不可變對(duì)象,每次迭代,python都會(huì)生成新的str對(duì)象來存儲(chǔ)新的字符串,num越大,創(chuàng)建的str對(duì)象越多,內(nèi)存消耗越大。


[color=rgba(0, 0, 0, 0.75)]Q.47.單引號(hào),雙引號(hào),三引號(hào)的區(qū)別
[color=rgba(0, 0, 0, 0.75)]

單引號(hào)和雙引號(hào)是等效的,如果要換行,需要符號(hào)(),三引號(hào)則可以直接換行,并且可以包含注釋


[color=rgba(0, 0, 0, 0.75)]

如果要表示Let’s go 這個(gè)字符串
單引號(hào):s4= ‘Let\’s go’
雙引號(hào):s5= “Let’s go”
s6 = ‘I realy like“python”!’
這就是單引號(hào)和雙引號(hào)都可以表示字符串的原因了


[color=rgba(0, 0, 0, 0.75)]Q.48.Python里面如何拷貝一個(gè)對(duì)象?(賦值,淺拷貝,深拷貝的區(qū)別)
[color=rgba(0, 0, 0, 0.75)]

賦值(=),就是創(chuàng)建了對(duì)象的一個(gè)新的引用,修改其中任意一個(gè)變量都會(huì)影響到另一個(gè)。


[color=rgba(0, 0, 0, 0.75)]

淺拷貝:創(chuàng)建一個(gè)新的對(duì)象,但它包含的是對(duì)原始對(duì)象中包含項(xiàng)的引用(如果用引用的方式修改其中一個(gè)對(duì)象,另外一個(gè)也會(huì)修改改變){1,完全切片方法;2,工廠函數(shù),如list();3,copy模塊的copy()函數(shù)}


[color=rgba(0, 0, 0, 0.75)]

深拷貝:創(chuàng)建一個(gè)新的對(duì)象,并且遞歸的復(fù)制它所包含的對(duì)象(修改其中一個(gè),另外一個(gè)不會(huì)改變){copy模塊的deep.deepcopy()函數(shù)}


[color=rgba(0, 0, 0, 0.75)]Q.49.介紹一下Python下range()函數(shù)的用法?
[color=rgba(0, 0, 0, 0.75)]

列出一組數(shù)據(jù),經(jīng)常用在for in range()循環(huán)中


[color=rgba(0, 0, 0, 0.75)]Q.50.請(qǐng)問如何修改以下Python代碼,使得下面的代碼調(diào)用類A的show方法?
[color=rgba(0, 0, 0, 0.75)]


答:這道題的考點(diǎn)是類繼承,只要通過__class__ 方法指定類對(duì)象就可以了。補(bǔ)充的代碼如下:


[color=rgba(0, 0, 0, 0.75)]Q.51.請(qǐng)問如何修改以下Python代碼,使得代碼能夠運(yùn)行?
[color=rgba(0, 0, 0, 0.75)]


此題考察得是方法對(duì)象,為了能讓對(duì)象實(shí)例能被直接調(diào)用,需要實(shí)現(xiàn) call 方法,補(bǔ)充代碼如下:


[color=rgba(0, 0, 0, 0.75)]Q.52.一個(gè)包里有三個(gè)模塊,mod1.py , mod2.py , mod3.py ,但使用 from demopack import * 導(dǎo)入模塊時(shí),如何保證只有 mod1 、 mod3 被導(dǎo)入了。
[color=rgba(0, 0, 0, 0.75)]

在包中增加 init.py 文件,并在文件中增加:all = [‘mod1’,’mod3’]



您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP