面試題目總結(jié)(一)——Python基礎(chǔ)篇

1.可變類型和不可變類型
可變類型有l(wèi)ist休溶,dict代赁。不可變類型有string,number兽掰,tuple芭碍。
當(dāng)進(jìn)行修改操作時(shí),可變類型傳遞的是內(nèi)存中的地址孽尽,也就是說(shuō)窖壕,直接修改內(nèi)存中的值,并沒(méi)有開(kāi)辟新的內(nèi)存。
不可變類型被改變時(shí)艇拍,并沒(méi)有改變?cè)瓋?nèi)存地址中的值狐蜕,而是開(kāi)辟一塊新的內(nèi)存,將原地址中的值復(fù)制過(guò)去卸夕,對(duì)這塊新開(kāi)辟的內(nèi)存中的值進(jìn)行操作。

2.深淺拷貝的實(shí)現(xiàn)方式婆瓜,區(qū)別快集;deepcopy如果你來(lái)設(shè)計(jì),如何實(shí)現(xiàn)廉白?

#最簡(jiǎn)單的深拷貝个初,改變一個(gè)不可變類型
string = "abcd"
print(id(string))    #output:2314121499680

string += "efg"
print(string)  #output:abcdefg
print(id(string))  #output:2314122360176

這里利用id來(lái)打印對(duì)象的10進(jìn)制內(nèi)存地址『秕澹可以發(fā)現(xiàn)string在拼接字符串后地址發(fā)生了變化院溺,也就是引用指向了另外一塊地址。

#最簡(jiǎn)單的深拷貝磅轻,改變一個(gè)不可變類型
string = "abcd"
print(id(string))

string += "efg"
print(string)
print(id(string))

#淺拷貝
b = string
print(b)
print(id(b))

接著剛才的例子又寫了一個(gè)淺拷貝珍逸,所謂淺拷貝就是復(fù)制是引用,也就是讓這兩個(gè)對(duì)象指向同一塊內(nèi)存地址聋溜。
如果我來(lái)實(shí)現(xiàn)深拷貝谆膳,我會(huì)為對(duì)象創(chuàng)建一個(gè)副本,所有的操作都指向這個(gè)副本撮躁。
對(duì)深拷貝一般是容器漱病,比如list“崖可以import copy杨帽,調(diào)用copy.deepcopy()函數(shù)。
順便說(shuō)一句嗤军,copy.deepcopy()和copy.copy()一般都用于容器注盈,深拷貝對(duì)不可變類型無(wú)效。

3.new() 和 init()的區(qū)別型雳?
官方文檔是這樣說(shuō)的:

  • init()是當(dāng)實(shí)例對(duì)象創(chuàng)建完成后被調(diào)用的当凡,然后設(shè)置對(duì)象屬性的一些初始值。
  • new()是在實(shí)例被創(chuàng)建前調(diào)用纠俭,因?yàn)樗娜蝿?wù)就是創(chuàng)建實(shí)例然后返回該實(shí)例沿量,是個(gè)靜態(tài)方法。
    也就是說(shuō)冤荆,new()在init()之前被調(diào)用朴则,new()返回的實(shí)例將會(huì)傳遞給init()的第一個(gè)參數(shù),然后init()在初始化對(duì)象的屬性钓简。

4.你知道幾種設(shè)計(jì)模式乌妒?描述一下他們的特點(diǎn)
策略模式汹想、適配器模式、工廠模式撤蚊、裝飾器模式古掏、單例模式

策略模式:

策略模式是一種與行為相關(guān)的設(shè)計(jì)模式,允許你在運(yùn)行時(shí)根據(jù)指定的上下文確定程序的動(dòng)作侦啸〔弁伲可以在兩個(gè)類中封裝不同的算法,并在程序運(yùn)行時(shí)確定具體使用哪一種光涂。

適配器模式:

適配器模式是一個(gè)結(jié)構(gòu)性的設(shè)計(jì)模式庞萍,允許通過(guò)不同的接口為一個(gè)類賦予新的用途,這使得使用不用調(diào)用方式的系統(tǒng)都能夠使用這個(gè)類忘闻。

工廠模式:

工廠模式是一種創(chuàng)建型的設(shè)計(jì)模式钝计,作用如其名稱:就像工廠一樣生產(chǎn)對(duì)象實(shí)例的類。
這個(gè)模式的主要目的是將可能設(shè)計(jì)到很多類的對(duì)象的創(chuàng)建過(guò)程封裝到一個(gè)單獨(dú)的方法中齐佳,通過(guò)給定的上下文輸出指定的對(duì)象實(shí)例私恬。

裝飾器模式:

裝飾器模式是一個(gè)結(jié)構(gòu)性模式,允許我們根據(jù)情況重虑,在運(yùn)行時(shí)為一個(gè)對(duì)象添加新的或者附加的行為践付。
目的是為給一個(gè)特定的對(duì)象實(shí)例應(yīng)用擴(kuò)展的函數(shù)方法,并且同時(shí)也能夠產(chǎn)生沒(méi)有新方法的原對(duì)象缺厉。

單例模式:

單例模式是一個(gè)創(chuàng)見(jiàn)型的模式永高,功能是確保運(yùn)行時(shí)對(duì)某個(gè)類只存在一個(gè)實(shí)例對(duì)象,并且提供一個(gè)全局訪問(wèn)點(diǎn)來(lái)訪問(wèn)這個(gè)實(shí)例對(duì)象提针。
因?yàn)閷?duì)于調(diào)用單例的其他對(duì)象而言命爬,這個(gè)全局唯一的訪問(wèn)點(diǎn)“協(xié)調(diào)”了對(duì)單例對(duì)象的訪問(wèn)請(qǐng)求,所以調(diào)用者看到的單例內(nèi)變量將會(huì)是同一份辐脖。

5.編碼和解碼你是怎么理解的饲宛?
計(jì)算機(jī)中存儲(chǔ)的信息都是二進(jìn)制數(shù)據(jù)。編碼和解碼本質(zhì)上是一種映射關(guān)系嗜价,比如‘a(chǎn)’用ascii編碼是65艇抠,計(jì)算機(jī)中存儲(chǔ)的是00110101.
編碼:真實(shí)字符串->二進(jìn)制串
解碼:二進(jìn)制串->真實(shí)字符串
熟知的編碼類型有ascii,utf-8久锥,unicode家淤。
ascii以1字節(jié)8bit表示一個(gè)字符,首位都是0瑟由,表示的字符集明顯不夠用絮重。
unicode編碼是為了表達(dá)任意語(yǔ)言而設(shè)計(jì)的,為了防止存儲(chǔ)上的冗余,采用了變長(zhǎng)編碼青伤,但是變長(zhǎng)編碼給解碼帶來(lái)了困難督怜,無(wú)法判斷幾個(gè)字節(jié)表示一個(gè)字符。
utf-8是針對(duì)unicode變長(zhǎng)編碼設(shè)計(jì)的一種前綴編碼狠角,根據(jù)前綴可判斷幾個(gè)字節(jié)表示一個(gè)字符号杠。


image.png

在Python中,編碼/解碼是不同編碼系統(tǒng)之間的轉(zhuǎn)換丰歌,默認(rèn)情況下轉(zhuǎn)換目標(biāo)是unicode究流。
編碼:unicode->字節(jié)流,字節(jié)流->unicode
對(duì)于一個(gè)字符串可以這樣完成不同的編碼

str1 = "abc"
enstr = str1.encode('utf-8') #編碼
destr = enstr.decode('utf-8') #解碼

Python文件的編碼格式
保存文件時(shí)动遭,對(duì)py文件可在前兩行注明編碼方式# -- coding: UTF-8 --

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市神得,隨后出現(xiàn)的幾起案子厘惦,更是在濱河造成了極大的恐慌,老刑警劉巖哩簿,帶你破解...
    沈念sama閱讀 212,686評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宵蕉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡节榜,警方通過(guò)查閱死者的電腦和手機(jī)羡玛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)宗苍,“玉大人稼稿,你說(shuō)我怎么就攤上這事』淇撸” “怎么了让歼?”我有些...
    開(kāi)封第一講書人閱讀 158,160評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)丽啡。 經(jīng)常有香客問(wèn)我谋右,道長(zhǎng),這世上最難降的妖魔是什么补箍? 我笑而不...
    開(kāi)封第一講書人閱讀 56,736評(píng)論 1 284
  • 正文 為了忘掉前任改执,我火速辦了婚禮,結(jié)果婚禮上坑雅,老公的妹妹穿的比我還像新娘辈挂。我一直安慰自己,他們只是感情好霞丧,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布呢岗。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪后豫。 梳的紋絲不亂的頭發(fā)上悉尾,一...
    開(kāi)封第一講書人閱讀 50,043評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音挫酿,去河邊找鬼构眯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛早龟,可吹牛的內(nèi)容都是我干的惫霸。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼葱弟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼壹店!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起芝加,我...
    開(kāi)封第一講書人閱讀 37,872評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤硅卢,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后藏杖,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體将塑,經(jīng)...
    沈念sama閱讀 44,318評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評(píng)論 2 327
  • 正文 我和宋清朗相戀三年蝌麸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了点寥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,777評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡来吩,死狀恐怖敢辩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情误褪,我是刑警寧澤责鳍,帶...
    沈念sama閱讀 34,470評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站兽间,受9級(jí)特大地震影響历葛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嘀略,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評(píng)論 3 317
  • 文/蒙蒙 一恤溶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧帜羊,春花似錦咒程、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,861評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)稠集。三九已至,卻和暖如春饥瓷,著一層夾襖步出監(jiān)牢的瞬間剥纷,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,095評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工呢铆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晦鞋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,589評(píng)論 2 362
  • 正文 我出身青樓棺克,卻偏偏與公主長(zhǎng)得像悠垛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子娜谊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項(xiàng)目接著寫寫一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,560評(píng)論 1 118
  • 字符集和編碼簡(jiǎn)介 在編程中常橙仿颍可以見(jiàn)到各種字符集和編碼,包括ASCII,MBCS,Unicode等字符集纱皆。確切的說(shuō)...
    蘭山小亭閱讀 8,466評(píng)論 0 13
  • 個(gè)人筆記拇惋,方便自己查閱使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik閱讀 67,682評(píng)論 0 5
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法抹剩,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法蓉坎,異常的語(yǔ)法澳眷,線程的語(yǔ)...
    子非魚_t_閱讀 31,602評(píng)論 18 399
  • 國(guó)慶前被碼字群打擊、國(guó)慶期間在DISC課程中見(jiàn)到若干IP和日更寫作的瘋?cè)蓑劝⑼瑫r(shí)認(rèn)識(shí)了N多讀書過(guò)千本年讀百本書的...
    武春麗閱讀 545評(píng)論 0 2