中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Python面試寶典之基礎篇-04

發布時間:2020-08-19 02:59:03 來源:ITPUB博客 閱讀:238 作者:千鋒Python唐小強 欄目:編程語言

接著更新Python常見的面試題!

Python面試寶典之基礎篇-04

題目016:寫一個函數,給定矩陣的階數n,輸出一個螺旋式數字矩陣。

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

這個題目本身并不復雜,下面的代碼僅供參考。

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:閱讀下面的代碼,寫出程序的運行結果。


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' }))

點評:生成式(推導式)屬于Python的特色語法之一,幾乎是面試必考內容。Python中通過生成式字面量語法,可以創建出列表、集合、字典。

[
3, 4]

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

題目018:說出下面代碼的運行結果。



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)

點評:運行上面的代碼首先輸出1 1 1,這一點大家應該沒有什么疑問。接下來,通過Child1.x = 2給類Child1重新綁定了屬性x并賦值為2,所以Child1.x會輸出2,而Parent和Child2并不受影響。執行Parent.x = 3會重新給Parent類的x屬性賦值為3,由于Child2的x屬性繼承自Parent,所以Child2.x的值也是3;而之前我們為Child1重新綁定了x屬性,那么它的x屬性值不會受到Parent.x = 3的影響,還是之前的值2。


1 
1 
1

1 2 1
3 2 3

題目19:說說你用過Python標準庫中的哪些模塊。

點評:Python標準庫中的模塊非常多,建議大家根據自己過往的項目經歷來介紹你用過的標準庫和三方庫,因為這些內容應該是你最為熟悉的,經得起面試官深挖的。

Python面試寶典之基礎篇-04

題目20:__init__和__new__方法有什么區別?

Python中調用構造器創建對象屬于兩階段構造過程,首先執行__new__方法獲得保存對象所需的內存空間,再通過__init__執行對內存空間數據的填充(對象屬性的初始化)。__new__方法的返回值是創建好的Python對象(的引用),而__init__方法的第一個參數就是這個對象(的引用),所以在__init__中可以完成對對象的初始化操作。__new__是類方法,它的第一個參數是類,__init__是對象方法,它的第一個參數是對象。

溫馨提示:Python面試寶典會持續更新,從基礎到項目實戰的內容都會慢慢覆蓋到。雖然每天只更新5個題目,但是每道題擴散出的信息量還是比較大的,希望對找工作的小伙伴所有幫助。

向AI問一下細節

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

AI

隆安县| 奈曼旗| 龙里县| 临桂县| 古田县| 扎囊县| 石景山区| 霸州市| 泰顺县| 凯里市| 贡觉县| 嘉义市| 保德县| 正宁县| 云龙县| 衡南县| 怀远县| 新疆| 和硕县| 成都市| 长宁区| 镇安县| 舒城县| 平利县| 巴里| 内黄县| 永寿县| 鄯善县| 武邑县| 彰武县| 洮南市| 西充县| 肥城市| 兰考县| 闸北区| 崇礼县| 泽库县| 玉林市| 宁陵县| 邯郸县| 新津县|