您好,登錄后才能下訂單哦!
今天小編給大家分享一下Python的FuckIt.py怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
FuckIt.py 使用了最先進的技術能夠使你的代碼不管里面有什么樣的錯誤,你只管 FuckIt,程序就能“正常”執行,兵來將擋水來土掩。
還是先來看個例子怎么使用的吧。
安裝
pip install fuckit
假設有一個目標文件: broke.py
def f(): broken_code print('fuckit chaining works') for let's just assume this is a big module of shitty code. x = y y = x 1 / 0 # Oh shhhiiiiiii var = "Are you proud of what you've done?"
broke.py 中有幾處明顯的錯誤,包括語法錯誤,變量 broken_code 沒有被定義,還有0當作被除數。
如果直接 import broke 肯定會報錯
>>> import broke
File "broke.py", line 5
for
^
SyntaxError: invalid syntax
這時你可以使用 fuckit 將 broke 導入進來。
>>> import fuckit
>>> fuckit("broke")
<module 'broke' from 'broke.py'>
>>> broke
<module 'broke' from 'broke.py'>
調用函數 f 的時候也會報錯
>>> broke.f()
NameError: global name 'broken_code' is not defined
你可以使用鏈式 fuckit 來調用這個有問題的函數
>>> fuckit(broke).f()
fuckit chaining works
或者
>>> fuckit(fuckit("broke")).f()
fuckit chaining works
除此之外,fuckit 還可以作為裝飾器和上下文管理器來使用。
裝飾函數
>>> @fuckit
... def broken_function():
... non_existant_variable # Let's create a NameError
... return 'Function decorator works'
...
>>> print(broken_function())
None
裝飾類
>>> @fuckit
... class BrokenClass(object):
... def f(self):
... self.black_hole = 1 / 0
... return 'Class decorator works'
...
>>> print(BrokenClass().f())
None
上下文管理器
>>> with fuckit:
... print('Context manager works')
... raise RuntimeError()
...
等價于
try:
print('Context manager works')
except RuntimeError:
pass
看到這里,是不是感覺 fuckit 很暴力,那么它能用在什么場景?個人認為這個庫很雞肋,因為你的代碼不應該容忍這些錯誤的出現,如果出現了錯誤應該立馬修復才是,但有一種可能的使用場景是你剛接手一份超復雜的代碼,里面各種看不懂的代碼,而這些操蛋的代碼時不時出現一個錯誤,而你又沒法駕馭它的時候,你就用 fuckit 吧。
以上就是“Python的FuckIt.py怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。