日韩 亚洲一区二_久久vs国产综合色大全_国产精品福利在线_欧美在线一级A片免费观看欧美在线_女同性毛片60分钟

您現(xiàn)在所在的位置:首頁(yè) >關(guān)於奇酷 > 行業(yè)動(dòng)態(tài) > Python培訓(xùn),用 print 輸(shū)出來(lái)調(diào)試代碼的方法過(guò)時(shí)了!

Python培訓(xùn),用 print 輸(shū)出來(lái)調(diào)試代碼的方法過(guò)時(shí)了!

來(lái)源:奇酷教育 發(fā)表於:

奇酷教育-Python培訓(xùn)_Python教程_Python基礎(chǔ)教程

       很多時(shí)候我們在學(xué)Python培訓(xùn)時(shí)老師都會(huì)教我們在Python編程中用print 輸(shū)出來(lái)調(diào)試代碼,但是奇酷今天想要告訴你的是這種方法過(guò)時(shí)了,現(xiàn)在大家都在用PySnooper,你可知道?

4 月 23 日,GitHub 每日趨勢(shì)榜第一位是一個(gè) Python 相關(guān)項(xiàng)目:PySnooper。

該項(xiàng)目很快獲取 2200 Star。

PySnooper 是個(gè)什麼東西?

Python培訓(xùn),用 print 輸(shū)出來(lái)調(diào)試代碼的方法過(guò)時(shí)了!

如果你寫(xiě)的 Python 代碼不能按如期那樣運(yùn)行,你會(huì)絞盡腦汁想為啥出錯了。雖然你希望有支持斷點(diǎn)的成熟調(diào)試器,但或許你現(xiàn)在不想去設(shè)置這樣的調(diào)試器。

你想知道哪些行代碼是正常運(yùn)行,哪些行不正常。據(jù)說(shuō)大多數(shù)人會(huì)在可疑位置使用 print 輸(shū)出語句。

其實(shí) PySnooper 的作用有點(diǎn)類(lèi)似,你不用小心謹(jǐn)慎地用 print 輸(shū)出語句,只需在想調(diào)試的函數(shù)中引入一個(gè)裝飾器。然後得到函數(shù)的詳細(xì)日誌,包括運(yùn)行了哪些行、何時(shí)運(yùn)行,以及何時(shí)更改了局部變量。

為什麼 PySnooper 能從其他智能調(diào)試工具中脫穎而出?

因為你可以在不需要進(jìn)行任何設(shè)置的情況下將其用於糟糕的、龐大的企業(yè)代碼庫(kù)中。只需打開(kāi)裝飾器(如下示例所示),並將輸(shū)出重定向到一個(gè)專(zhuān)用的日誌文件,將日誌文件路徑指定為第一個(gè)參數(shù)。

使用範例

範例是一個(gè)把數(shù)字轉(zhuǎn)成二進(jìn)位的函數(shù)。

 


import pysnooper



@pysnooper.snoop()

def number_to_bits(number):

    if number:

        bits = []

        while number:

            number, remainder = divmod(number, 2)

            bits.insert(0, remainder)

        return bits

    else:

        return [0]



umber_to_bits(6)

輸(shū)出範例

 


Starting var:.. number = 6

21:14:32.099769 call         3 @pysnooper.snoop()

21:14:32.099769 line         5     if number:

21:14:32.099769 line         6         bits = []

New var:....... bits = []

21:14:32.099769 line         7         while number:

21:14:32.099769 line         8             number, remainder = divmod(number, 2)

New var:....... remainder = 0

Modified var:.. number = 3

21:14:32.099769 line         9             bits.insert(0, remainder)

Modified var:.. bits = [0]

21:14:32.099769 line         7         while number:

21:14:32.099769 line         8             number, remainder = divmod(number, 2)

Modified var:.. number = 1

Modified var:.. remainder = 1

21:14:32.099769 line         9             bits.insert(0, remainder)

Modified var:.. bits = [1, 0]

21:14:32.099769 line         7         while number:

21:14:32.099769 line         8             number, remainder = divmod(number, 2)

Modified var:.. number = 0

21:14:32.099769 line         9             bits.insert(0, remainder)

Modified var:.. bits = [1, 1, 0]

21:14:32.099769 line         7         while number:

21:14:32.099769 line        10         return bits

21:14:32.099769 return      10         return bits
  以上就是奇酷為大家分享的“Python培訓(xùn),用 print 輸(shū)出來(lái)調(diào)試代碼的方法過(guò)時(shí)了!”謝謝大家觀(guān)看,如果對(duì)Python感興趣的話(huà),想學(xué)Python培訓(xùn)的,也可以在線(xiàn )諮詢,我們將竭誠(chéng)為你解答。