
こんにちは。Takuyaです。
今回は for
文についてです。
for
文は繰り返し同じ処理を行いたい時に使用する構文です。
その for
文の中で変数名の数字を変えたい、そんな時は exec
関数を使いましょう。
例えば、
str_1 = 'おはようございます'
str_2 = 'こんにちは'
str_3 = 'こんばんは'
上記のように、連番の付いた変数について、同じ処理をしたい場合などに exec
関数が使えます。
例えば、連番の付いた変数を全て表示したい時、次のように書きたくなるかもしれません。
str_1 = 'おはようございます'
str_2 = 'こんにちは'
str_3 = 'こんばんは'
for i in range(1,4):
print(str_i)
これを実行すると、NameError: name 'str_i' is not defined
となります。
ただの文字列として扱われてしまうんですね。
こんな時に使うのが exec
関数です。次のように書きます。
str_1 = 'おはようございます'
str_2 = 'こんにちは'
str_3 = 'こんばんは'
for i in range(1,4):
exec_command = 'print(str_' + str(i) + ')'
exec(exec_command)
上記の実行結果

(今回は Google Colab で確認してみました。)
今回は、for
文の中で変数名の数字を変えたい という時のexec
関数を使う方法をご紹介しました。
以上です。
コメント