1. ホーム
  2. python

[解決済み] 変数 variable を作成するにはどうすればよいですか?

2022-03-21 07:45:46

質問

Pythonで可変変数を実現するには?

例えば、こんな精巧なマニュアルがあります。 変数 variable

しかし、これは一般的に悪い考えで、PHPのセキュリティホールだと聞いています。それは本当ですか?

解決方法は?

を使用することができます。 ディクショナリー を使えば、これを実現できます。辞書はキーと値を格納するものである。

>>> dct = {'x': 1, 'y': 2, 'z': 3}
>>> dct
{'y': 2, 'x': 1, 'z': 3}
>>> dct["y"]
2

変数キー名を使用することで、セキュリティリスクを伴わずに、可変変数の効果を得ることができます。

>>> x = "spam"
>>> z = {x: "eggs"}
>>> z["spam"]
'eggs'

というようなことを考えている場合。

var1 = 'foo'
var2 = 'bar'
var3 = 'baz'
...

は、dict よりも list の方が適切な場合があります。リストは、整数のインデックスを持つオブジェクトの順序付きシーケンスを表します。

lst = ['foo', 'bar', 'baz']
print(lst[1])           # prints bar, because indices start at 0
lst.append('potatoes')  # lst is now ['foo', 'bar', 'baz', 'potatoes']

順序付きシーケンスの場合、リストの方が整数キーを持つdictsよりも便利です。なぜなら、リストはインデックス順の反復をサポートしているからです。 スライシング , append といった、ディクショナリーで厄介な鍵管理を必要とするような操作を行うことができます。