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

溫馨提示×

溫馨提示×

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

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

如何進行Python 操作符風格的解析

發布時間:2021-10-27 19:04:10 來源:億速云 閱讀:118 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關如何進行Python 操作符風格的解析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

調用方法會影響可讀性。盡管 assertEqual() 方法名能夠表明要測試兩個值是否相等,但是代碼看起來仍然不像是比較,對于熟悉Python 操作符的開發人員,不如 Python  操作符那么明確。

第二,正如在本系列的第三篇文章中將看到的,新的測試框架現在知道如何檢查 assert 語句,從而查明造成測試失敗的條件。這意味著簡單的 assert 語句現在能夠產生有意義的測試失敗消息。

它提供的信息與調用 assertEqual() 等老方法的結果差不多。***,即使 assertEqual() 仍然是必要的,但是從測試模塊導入這個函數(而不是通過類繼承讓函數可用)肯定更簡單,更符合 Python 操作符的風格。

實際上,在下面會看到,當 py.test 和 nose 要提供更多用來支持測試的例程時,它們只需把這些例程定義為函數,然后用戶可以把這些函數導入自己的代碼。當然,如果作者確實需要通過例程緩存狀。

# nose.tools support functions for writing tests   assert_almost_equal(first, second, places=7, msg=None)  assert_almost_equals(first, second, places=7, msg=None)  assert_equal(first, second, msg=None)  assert_equals(first, second, msg=None)  assert_false(expr, msg=None)  assert_not_almost_equal(first, second, places=7, msg=None)  assert_not_almost_equals(first, second, places=7, msg=None)  assert_not_equal(first, second, msg=None)  assert_not_equals(first, second, msg=None)  assert_true(expr, msg=None)  eq_(a, b, msg=None)  ok_(expr, msg=None)

但是,如果程序員希望編寫簡單的測試代碼,不愿意考慮 doctest 涉及的亂七八糟的東西,那么測試函數是很好的方法。總之,測試函數可以極大地增強編寫測試的簡便性。程序員不需要記住、重寫或復制以前編寫的測試代碼,新的約定讓 Python 程序員能夠像編寫一般Python 操作符一樣編寫測試:只需打開一個空文件,然后輸入!

py.test 和 nose 框架都提供特殊的例程,這些例程可以簡化測試的編寫。可以認為它們分別提供一種方便的測試 “方言”,可以用這些 “方言” 編寫測試。這會簡化測試的編寫并減少錯誤,還會使測試更簡短、可讀性更好。

但是,使用這些例程還會導致一個重要的后果:您的測試與提供函數的框架捆綁在一起了,喪失了兼容性。因此,要權衡考慮方便性和兼容性。如果只使用笨拙的標準Python  操作符unittest 模塊從頭編寫所有測試,那么它們能夠在任何測試框架中運行。

更進一步,如果采用簡單的做法編寫測試函數(如上所述),那么測試至少能夠在 py.test 和 nose 中運行。但是。如果開始使用某個測試框架特有的特性,那么如果以后另一個框架開發出了新的重要特性,您決定進行框架遷移,就必須重寫測試。

py.test 和 nose 都為 TestCase 的 assertRaises() 方法提供了替代品。py.test 提供的版本比較新穎,它也可以接受要執行的字符串,這更強大,因為可以測試引發異常的表達式,而不只是函數調用:

# conveniences.py  import math   import py.test  py.test.raises(OverflowError, math.log, 0)  py.test.raises(ValueError, math.sqrt, -1)  py.test.raises(ZeroDivisionError, "1 / 0")   import nose.tools  nose.tools.assert_raises(OverflowError, math.log, 0)  nose.tools.assert_raises(ValueError, math.sqrt, -1)  # No equivalent for third example!

在處理浮點數時,如果希望測試能夠靈活地對待Python 操作符實現,允許對浮點數的處理有細小的誤差,那么上面檢查近似值的例程尤其有意義。

看完上述內容,你們對如何進行Python 操作符風格的解析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

平山县| 宁远县| 安西县| 晴隆县| 蒲城县| 襄樊市| 藁城市| 迭部县| 泌阳县| 昌邑市| 武定县| 东乌珠穆沁旗| 乌恰县| 株洲市| 扎赉特旗| 南丹县| 稷山县| 防城港市| 皮山县| 遂川县| 清镇市| 唐山市| 大连市| 霍邱县| 台州市| 凭祥市| 茌平县| 克东县| 吴桥县| 洛隆县| 北碚区| 枣阳市| 土默特左旗| 佛教| 金溪县| 潞城市| 揭阳市| 勃利县| 紫阳县| 舟山市| 阳东县|