自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你有多懂Python?看完這6道題就知道了

開發(fā) 后端
最近覺得 Python 太“簡單了”,于是在老司機面前放肆了一把:“我覺得 Python 是世界上最簡單的語言!”。于是老司機給我了一份滿分 100 分的6道題,下面是題目的錯誤實錄。

Python在設(shè)計上堅持了清晰劃一的風(fēng)格,這使得Python成為一門易讀、易維護,并且被大量用戶所歡迎的、用途廣泛的語言。設(shè)計者開發(fā)時總的指導(dǎo)思想是,對于一個特定的問題,只要有一種***的方法來解決就好了。

最近覺得 Python 太“簡單了”,于是在老司機面前放肆了一把:“我覺得 Python 是世界上最簡單的語言!”。于是老司機給我了一份滿分 100 分的6道題,下面是題目的錯誤實錄:

1、你恐怕不會留意到的列表生成器

檢查一下下面的代碼會報錯的原因,并說出來?

你有多懂Python?看完這6道題就知道了

列表生成器的正解答案如下:

你有多懂Python?看完這6道題就知道了

你有多懂Python?看完這6道題就知道了

 

或者答案可以是這樣 

你有多懂Python?看完這6道題就知道了

此內(nèi)容的再補充

你有多懂Python?看完這6道題就知道了

你有多懂Python?看完這6道題就知道了

2、據(jù)說是最難得裝飾器描述:按照實際情況來寫一個類裝飾器用來度量函數(shù)/方法運行時間,你看怎么實現(xiàn)? 

你有多懂Python?看完這6道題就知道了

此類裝飾器能夠運行在普通函數(shù)上:

你有多懂Python?看完這6道題就知道了

此類裝飾器運行在方法上會報錯,為什么?

你有多懂Python?看完這6道題就知道了

如果堅持使用類裝飾器,應(yīng)該如何修改?

此問題的答案是

你有多懂Python?看完這6道題就知道了

你有多懂Python?看完這6道題就知道了


3、Python 調(diào)用機制看你會不會

描述:Python開發(fā)者們知道 __call__ 方法可以用來重載圓括號調(diào)用,其實問題根本不是這個。

你有多懂Python?看完這6道題就知道了

現(xiàn)在大家可以看到 a() 似乎等價于 a.__call__() ,好的,現(xiàn)在我們寫出了如下的代碼

你有多懂Python?看完這6道題就知道了

你有多懂Python?看完這6道題就知道了  

你有多懂Python?看完這6道題就知道了

你有多懂Python?看完這6道題就知道了  

4、描述符你會犯錯嗎?

描述:如果要寫一個 Exam 類,其屬性 math 為 [0,100] 的整數(shù),若賦值時不在此范圍內(nèi)則拋出異常,你是否決定用描述符來實現(xiàn)這個需求。

你有多懂Python?看完這6道題就知道了

看起來一切正常。不過嘗試說明是什么問題,改寫 Grade 描述符試一下:

你有多懂Python?看完這6道題就知道了

不過這樣會導(dǎo)致更大的問題,請問該怎么解決這個問題?

答案

你有多懂Python?看完這6道題就知道了

兩種方法

***種:

你有多懂Python?看完這6道題就知道了

你有多懂Python?看完這6道題就知道了

你有多懂Python?看完這6道題就知道了

5、Python 繼承機制的坑

描述:

試求出以下代碼的輸出結(jié)果。

你有多懂Python?看完這6道題就知道了

答案:輸出是 36 ,具體可以參考 New-style Classes , multiple-inheritance

6、Python 的特殊方法的使用模式

描述:寫了一個通過重載 new 方法來實現(xiàn)單例模式的類。

你有多懂Python?看完這6道題就知道了

現(xiàn)在有一堆類要實現(xiàn)為單例模式,打算照著寫一個元類,這樣可以讓代碼復(fù)用:

你有多懂Python?看完這6道題就知道了

報錯啊,下面這段代碼能夠捕獲一切屬性調(diào)用并打印參數(shù)

你有多懂Python?看完這6道題就知道了

試解釋為什么給 getattribute 打補丁成功,而 new 打補丁失敗。

如果堅持使用元類給 new 打補丁來實現(xiàn)單例模式,應(yīng)該怎么修改?

答案:

  • 其實這是最氣人的一點,類里的 __new__ 是一個 staticmethod 因此替換的時候必須以 staticmethod 進行替換。答案如下:

你有多懂Python?看完這6道題就知道了

結(jié)語:

Python這門語言還是博大精深的,如果你現(xiàn)在剛剛學(xué)不久就以為很好了,小心這里面其實有很多坑。

責(zé)任編輯:未麗燕 來源: Linux云計算數(shù)據(jù)自學(xué)
相關(guān)推薦

2019-06-05 15:20:00

MongoDBNoSQL數(shù)據(jù)庫

2019-05-16 08:51:22

物聯(lián)網(wǎng)獲利IOT

2020-07-20 10:20:30

this前端代碼

2022-07-01 13:38:48

霧計算邊緣計算

2023-10-08 08:41:04

JavaPython編程語言

2016-03-09 19:52:02

無線應(yīng)用Wi-Fi定位

2021-03-14 15:58:26

手機定位系統(tǒng)

2021-11-27 12:08:49

網(wǎng)絡(luò)攻擊微軟網(wǎng)絡(luò)安全

2023-09-28 08:42:56

PyQt6Python語言

2023-07-27 08:40:45

PawSQL數(shù)據(jù)庫

2018-03-13 11:09:16

屏幕刷新率電腦

2019-08-20 13:45:01

阿里巴巴面試Java

2022-09-02 19:10:46

高并發(fā)架構(gòu)系統(tǒng)

2020-03-24 10:59:41

運維架構(gòu)技術(shù)

2020-04-02 10:10:59

CPU系統(tǒng)運算

2022-01-17 21:13:32

Windows 10Windows微軟

2017-06-01 18:55:44

2019-08-02 15:35:02

工具代碼開發(fā)

2021-07-26 05:17:39

Linux PosixLinux 系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號