Python PHP の Compact() および extract() に相当します
PHP では、compact() 関数と extract() 関数が実用的な目的を果たします。それぞれハッシュテーブルの作成とローカル変数の更新に使用されます。 Python も同様の機能を提供しますが、異なる原則に従っています。
Python の Compact() の実装
Python では厳密には推奨されていませんが、compact() を実装できます。次のような関数:
import inspect
def compact(*names):
caller = inspect.stack()[1][0]
vars = {}
for n in names:
if n in caller.f_locals:
vars[n] = caller.f_locals[n]
elif n in caller.f_globals:
vars[n] = caller.f_globals[n]
return vars
この関数は、呼び出し元のローカル変数とグローバル変数をイントロスペクトし、指定された変数値を含む辞書を作成します。
機能を抽出するための Python のアプローチ
前では、extract() と同等の Python を実装できましたが、このメソッドはサポートされなくなりました。これは、ローカル変数を動的に更新するのではなく、明示的に変数を割り当てるという Python の設定を反映しています。
代替アプローチ
compact() または extract() のような関数が引き続き必要な場合、あなたのアプローチが Python の明確さと明示性の原則に沿っているかどうかを検討してください。 Python では、変数に直接アクセスしたり、辞書などのデータ構造を使用したりする方が適切な場合があります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3