ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列として保存された名前を使用して変数の値にアクセスするにはどうすればよいですか?

Python で文字列として保存された名前を使用して変数の値にアクセスするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-06 15:19:16585ブラウズ

How Can I Access a Variable's Value Using Its Name Stored as a String in Python?

文字列変数から変数値にアクセスする

シナリオによっては、保存されている名前に基づいて変数の値を取得する必要がある場合があります。文字列で。残念ながら、Python では、PHP とは異なり、このための直接的な方法が提供されていません。

グローバル変数

対象の変数がグローバルの場合は、次のアプローチを使用できます。

>>> a = 5
>>> globals()['a']
5

ただし、この方法でグローバル変数にアクセスすると、潜在的にコードが複雑になり、予期しない動作です。

eval 関数

もう 1 つのオプションは、eval 関数を使用して文字列を評価し、変数値を取得することです。

a = "my_variable"
my_variable = 10
eval(a)

このメソッドを使用すると、グローバルではない変数にアクセスできます。ただし、ユーザー指定の文字列で eval を使用すると、セキュリティ上のリスクが伴います。悪意のある文字列によって任意のコードが実行される可能性があるため、信頼できない入力を処理する場合は注意が必要です。

変数名前空間

非グローバル変数は、名前空間へのアクセスが必要です。そのアクセス権がある場合は、次のアプローチを使用できます。

namespace = {
    "my_variable": 10,
    "another_variable": 20,
}
my_variable = namespace["my_variable"]

要約すると、文字列から変数の値にアクセスするには、グローバル変数の globals() メソッドを使用します。使用には注意が必要です。 eval、または変数の名前空間に直接アクセスします。方法の選択は、特定の要件と潜在的なセキュリティ上の考慮事項によって異なります。

以上がPython で文字列として保存された名前を使用して変数の値にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。