真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python面試寶典之基礎(chǔ)篇-04

接著更新Python常見(jiàn)的面試題!

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比慶城網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式慶城網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋慶城地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。

Python面試寶典之基礎(chǔ)篇-04

題目016:寫(xiě)一個(gè)函數(shù),給定矩陣的階數(shù)n,輸出一個(gè)螺旋式數(shù)字矩陣。

例如:n = 2,輸出:
例如:n = 3,輸出:

這個(gè)題目本身并不復(fù)雜,下面的代碼僅供參考。

def show
_spiral_matrix(n):
   matrix = [ [0] * n for _ in range(n)]
   row, col = 0, 0
   num, direction = 1, 0
   while num <= n ** 2:
       if matrix[ row][ col] == 0:
           matrix[ row][ col] = num
           num += 1
       if direction == 0:
           if col < n - 1 and matrix[ row][ col + 1] == 0:
                col += 1
            else:
                direction += 1
        elif direction == 1:
            if row < n - 1 and matrix[ row + 1][ col] == 0:
                row += 1
            else:
                direction += 1
        elif direction == 2:
            if col > 0 and matrix[ row][ col - 1] == 0:
               col -= 1
           else:
               direction += 1
       else:
           if row > 0 and matrix[ row - 1][ col] == 0:
               row -= 1
           else:
               direction += 1
       direction %= 4
   for x in matrix:
       for y in x:
           print(y, end='\t')
       print()

題目017:閱讀下面的代碼,寫(xiě)出程序的運(yùn)行結(jié)果。


items 
= 
[1, 
2
, 
3
, 
4
] 
print([i for i in items if i > 2 ])
print([i for i in items if i % 2 ])
print([(x, y) for x, y in zip('abcd', (1, 2 , 3 , 4 , 5 ))])
print({x: f'item{x ** 2 }' for x in (2, 4 , 6 )})
print(len({x for x in 'hello world' if x not in 'abcdefg' }))

點(diǎn)評(píng):生成式(推導(dǎo)式)屬于Python的特色語(yǔ)法之一,幾乎是面試必考內(nèi)容。Python中通過(guò)生成式字面量語(yǔ)法,可以創(chuàng)建出列表、集合、字典。

[
3, 4]
[ 1, 3]
[ ('a', 1), ('b', 2), ('c', 3), ('d', 4)]
{2: 'item4', 4: 'item16', 6: 'item36'}
6

題目018:說(shuō)出下面代碼的運(yùn)行結(jié)果。



class 
Parent:
   x = 1

class Child1(Parent):
   pass

class Child2(Parent):
   pass

print(Parent.x, Child1.x, Child2.x)
Child1.x = 2
print(Parent.x, Child1.x, Child2.x)
Parent.x = 3
print(Parent.x, Child1.x, Child2.x)

點(diǎn)評(píng):運(yùn)行上面的代碼首先輸出1 1 1,這一點(diǎn)大家應(yīng)該沒(méi)有什么疑問(wèn)。接下來(lái),通過(guò)Child1.x = 2給類Child1重新綁定了屬性x并賦值為2,所以Child1.x會(huì)輸出2,而Parent和Child2并不受影響。執(zhí)行Parent.x = 3會(huì)重新給Parent類的x屬性賦值為3,由于Child2的x屬性繼承自Parent,所以Child2.x的值也是3;而之前我們?yōu)镃hild1重新綁定了x屬性,那么它的x屬性值不會(huì)受到Parent.x = 3的影響,還是之前的值2。


1 
1 
1
1 2 1
3 2 3

題目19:說(shuō)說(shuō)你用過(guò)Python標(biāo)準(zhǔn)庫(kù)中的哪些模塊。

點(diǎn)評(píng):Python標(biāo)準(zhǔn)庫(kù)中的模塊非常多,建議大家根據(jù)自己過(guò)往的項(xiàng)目經(jīng)歷來(lái)介紹你用過(guò)的標(biāo)準(zhǔn)庫(kù)和三方庫(kù),因?yàn)檫@些內(nèi)容應(yīng)該是你最為熟悉的,經(jīng)得起面試官深挖的。

Python面試寶典之基礎(chǔ)篇-04

題目20:__init__和__new__方法有什么區(qū)別?

Python中調(diào)用構(gòu)造器創(chuàng)建對(duì)象屬于兩階段構(gòu)造過(guò)程,首先執(zhí)行__new__方法獲得保存對(duì)象所需的內(nèi)存空間,再通過(guò)__init__執(zhí)行對(duì)內(nèi)存空間數(shù)據(jù)的填充(對(duì)象屬性的初始化)。__new__方法的返回值是創(chuàng)建好的Python對(duì)象(的引用),而__init__方法的第一個(gè)參數(shù)就是這個(gè)對(duì)象(的引用),所以在__init__中可以完成對(duì)對(duì)象的初始化操作。__new__是類方法,它的第一個(gè)參數(shù)是類,__init__是對(duì)象方法,它的第一個(gè)參數(shù)是對(duì)象。

溫馨提示:Python面試寶典會(huì)持續(xù)更新,從基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)的內(nèi)容都會(huì)慢慢覆蓋到。雖然每天只更新5個(gè)題目,但是每道題擴(kuò)散出的信息量還是比較大的,希望對(duì)找工作的小伙伴所有幫助。


文章題目:Python面試寶典之基礎(chǔ)篇-04
標(biāo)題URL:http://weahome.cn/article/pssdph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部