Python Interview Question and Answers

[點擊查看原文](Python Interview Question and Answers)
1. How are arguments passed - by reference of by value?

簡單來說“都不是”萍倡,實際上這種方式被稱之為“call by object”或者“call by sharing ”(注:也可以稱之為“call by object reference”死姚,more info)。詳細點來說迎罗,這個術(shù)語并不能精確的描述Python是如何工作的所森。在Python中,萬物皆對象,所以的變量只是對象的引用隘梨,這些引用的值被傳遞給函數(shù)。所以我們不能改變引用的值但是可以可變對象的值舷嗡。記字崃浴: numbers, strings 和 tuples 是不可變的, list 和 dicts 是可變的。
如果函數(shù)收到的是一個可變對象(比如字典或者列表)的引用进萄,就能修改對象的原始值--相當于通過“傳引用”來傳遞對象捻脖。如果函數(shù)收到的是一個不可變對象(比如數(shù)字、字符或者元組)的引用中鼠,就不能直接修改原始對象--相當于通過“傳值'來傳遞對象可婶。
python中任何變量都是對象,所以參數(shù)只支持引用傳遞方式援雇。即通過名字綁定的機制矛渴,把實際參數(shù)的值和形式參數(shù)的名稱綁定在一起,形式參數(shù)和實際參數(shù)指向內(nèi)存中的同一個存儲空間惫搏。

2.Do you know what list and dict comprehensions are? Can you give an example?
列表或字典推導(dǎo)是一種語法結(jié)構(gòu)具温,基于已經(jīng)存在的可迭代對象,用來更容易的產(chǎn)生列表或字典筐赔。根據(jù)第三版的“Learning Python”铣猩,列表推導(dǎo)通常來說比正常的循環(huán)要快,不同的版本之間可能存在差異茴丰。

# simple iteration
a = []
for x in range(10): 
    a.append(x*2)
# a == [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
# list comprehension
a = [x*2 for x in range(10)]
# dict comprehension
a = {x: x*2 for x in range(10)}
# a == {0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}

5.Can you sum all of the elements in the list, how about to multuply them and get the result?

# the basic way
s = 0
for x in range(10): 
    s += x
# the right way
s = sum(range(10))
# the basic way
s = 1
for x in range(1, 10):
    s = s * x
# the other way
from operator import mul
reduce(mul, range(1, 10))

6.Do you know what is the difference between lists and tuples? Can you give me an example for their usage?

定義:
**list : **鏈表,有序的項目, 通過索引進行查找,使用方括號”[]”;
**tuple : **元組,元組將多樣的對象集合到一起,不能修改,通過索引進行查找, 使用括號”()”;
**dict : **字典,字典是一組鍵(key)和值(value)的組合,通過鍵(key)進行查找,沒有順序, 使用大括號”{}”;
**set : **集合,無序,元素只出現(xiàn)一次, 自動去重,使用”set([])”
應(yīng)用場景:
**list : ** 簡單的數(shù)據(jù)集合,可以使用索引;
**tuple : **, 把一些數(shù)據(jù)當做一個整體去使用,不能修改;
**dict : **使用鍵值和值進行關(guān)聯(lián)的數(shù)據(jù);
**set : **數(shù)據(jù)只出現(xiàn)一次,只關(guān)心數(shù)據(jù)是否出現(xiàn), 不關(guān)心其位置;

7.Do you know the difference between range and xrange?

range返回一個list达皿,xrang返回一個(生成器)xrang對象;
range返回所有產(chǎn)生的元素(這是非常消耗時間和內(nèi)存的)贿肩,xrang則是每次迭代產(chǎn)生一個峦椰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市汰规,隨后出現(xiàn)的幾起案子们何,更是在濱河造成了極大的恐慌,老刑警劉巖控轿,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拂封,居然都是意外死亡茬射,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門冒签,熙熙樓的掌柜王于貴愁眉苦臉地迎上來在抛,“玉大人,你說我怎么就攤上這事萧恕「账螅” “怎么了肠阱?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長朴读。 經(jīng)常有香客問我屹徘,道長,這世上最難降的妖魔是什么衅金? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任噪伊,我火速辦了婚禮,結(jié)果婚禮上氮唯,老公的妹妹穿的比我還像新娘鉴吹。我一直安慰自己,他們只是感情好惩琉,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布豆励。 她就那樣靜靜地躺著,像睡著了一般瞒渠。 火紅的嫁衣襯著肌膚如雪良蒸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天在孝,我揣著相機與錄音诚啃,去河邊找鬼。 笑死私沮,一個胖子當著我的面吹牛始赎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播仔燕,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼造垛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晰搀?” 一聲冷哼從身側(cè)響起五辽,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎外恕,沒想到半個月后杆逗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡鳞疲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年罪郊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尚洽。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡悔橄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情癣疟,我是刑警寧澤挣柬,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站睛挚,受9級特大地震影響邪蛔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜竞川,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一店溢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧委乌,春花似錦床牧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至壕吹,卻和暖如春著蛙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耳贬。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工踏堡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人咒劲。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓顷蟆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親腐魂。 傳聞我的和親對象是個殘疾皇子帐偎,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

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

  • 個人筆記,方便自己查閱使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik閱讀 67,680評論 0 5
  • 一蛔屹、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù)削樊,當然包括負整數(shù),在Python程序...
    績重KF閱讀 1,646評論 0 1
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,547評論 1 118
  • Python 是一種相當高級的語言兔毒,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機器碼...
    Python程序媛閱讀 1,891評論 0 3
  • 一 夏季熾熱的風(fēng)拂過街道漫贞,卻沒有帶來一絲的涼爽。連夏季最為嘈雜的蟬都仿佛被熱氣吸取了生命力育叁,變的沉默起來绕辖。偶爾才有...
    value的橘子閱讀 637評論 2 1