溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python的FuckIt.py怎么使用

發(fā)布時(shí)間:2022-01-17 15:03:37 來(lái)源:億速云 閱讀:110 作者:iii 欄目:大數(shù)據(jù)

今天小編給大家分享一下Python的FuckIt.py怎么使用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

FuckIt.py 使用了最先進(jìn)的技術(shù)能夠使你的代碼不管里面有什么樣的錯(cuò)誤,你只管 FuckIt,程序就能“正?!眻?zhí)行,兵來(lái)將擋水來(lái)土掩。

還是先來(lái)看個(gè)例子怎么使用的吧。

安裝

pip install fuckit

假設(shè)有一個(gè)目標(biāo)文件: 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 中有幾處明顯的錯(cuò)誤,包括語(yǔ)法錯(cuò)誤,變量 broken_code 沒(méi)有被定義,還有0當(dāng)作被除數(shù)。

如果直接 import broke 肯定會(huì)報(bào)錯(cuò)

>>> import broke
 File "broke.py", line 5
   for
     ^
SyntaxError: invalid syntax

這時(shí)你可以使用 fuckit 將 broke 導(dǎo)入進(jìn)來(lái)。

>>> import fuckit
>>> fuckit("broke")
<module 'broke' from 'broke.py'>
>>> broke
<module 'broke' from 'broke.py'>

調(diào)用函數(shù) f 的時(shí)候也會(huì)報(bào)錯(cuò)

>>> broke.f()
NameError: global name 'broken_code' is not defined

你可以使用鏈?zhǔn)?fuckit 來(lái)調(diào)用這個(gè)有問(wèn)題的函數(shù)

>>> fuckit(broke).f()
fuckit chaining works

或者
>>> fuckit(fuckit("broke")).f()
fuckit chaining works

除此之外,fuckit 還可以作為裝飾器和上下文管理器來(lái)使用。

裝飾函數(shù)

>>> @fuckit
... def broken_function():
...     non_existant_variable # Let's create a NameError
...     return 'Function decorator works'
...
>>> print(broken_function())
None

裝飾類(lèi)

>>> @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()
...

等價(jià)于

try:
    print('Context manager works')
except RuntimeError:
   pass

看到這里,是不是感覺(jué) fuckit 很暴力,那么它能用在什么場(chǎng)景?個(gè)人認(rèn)為這個(gè)庫(kù)很雞肋,因?yàn)槟愕拇a不應(yīng)該容忍這些錯(cuò)誤的出現(xiàn),如果出現(xiàn)了錯(cuò)誤應(yīng)該立馬修復(fù)才是,但有一種可能的使用場(chǎng)景是你剛接手一份超復(fù)雜的代碼,里面各種看不懂的代碼,而這些操蛋的代碼時(shí)不時(shí)出現(xiàn)一個(gè)錯(cuò)誤,而你又沒(méi)法駕馭它的時(shí)候,你就用 fuckit 吧。

以上就是“Python的FuckIt.py怎么使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI