PythonユーティリティFckIt.py紹介


Pythonの強大なところといえば、優雅で簡潔で、開発が速く、コミュニティの活性度が高いと思います。しかし、本当にこの言語を長持ちさせました。重要な原因は何でもできます。コミュニティには様々な第三倉庫があります。Pythonを使って一つのものを実現するのは本当に簡単です。何行かのコードが爬虫類を実現するのをよく見ます。しかし、確かにこのような倉庫があります。煩わしいマナーを全部封入しました。最後に優雅なAPIを開放します。
今日紹介したこの倉庫は「FckIt.py」といいます。名前を見るととても黄色で暴力的なタイプです。
FUCIt.py uses state-off-the-art technology to make sure your Python code runs whether it has.Some code has.Some code has an error?Fck it.
FckIt.pyは最先端の技術を使って、コードの中にどんな間違いがあっても、FckItだけで、プログラムが正常に実行できます。
まず例を見てみましょう。
インストール

pip install fuckit
ターゲットファイルがあると仮定します。brook e.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?"
brook e.pyの中には文法エラー、変数brooken_を含むいくつかの明確なエラーがあります。codeは定義されていません。まだ0は除数されます。
直接import brookに行くと間違いがあります。

>>> import broke
File "broke.py", line 5
for
^
SyntaxError: invalid syntax
この時はFckitを使ってbrookを導入してもいいです。

>>> 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を使ってください。
fuckitのソースコードは200行未満です。好奇心がありますが、どうやって実現したのかを知りたいですか?黒科学技術を使いましたか?アクセス項目住所
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。