いつもお世話になっております。
変数内で変数の展開を行った場合の挙動についてご教授いただきたいです。
python
1_VAR1 = None 2_VAR2 = None 3_VAR3 = f'local/{_VAR1}/{_VAR2}' 4 5def main(): 6 global _VAR1 7 global _VAR2 8 global _VAR3 9 _VAR1 = dir 10 _VAR2 = filename 11 print(_VAR3)
この様なコードを実行した場合、printによって出力される文字列は
'local/None/None'
になることから、グローバル変数_VAR3がはじめに_VAR1,2を参照していても_VAR3への反映は行われないことから、変数は改めて宣言を行わなければ値の更新は行われないという認識で正しいでしょうか?
また、_VAR1,2へ値の代入が行われた瞬間にそれを_VAR3に反映するためにはどうするのが正しいでしょうか(代入後に_VAR3を改めて宣言するしかないのでしょうか)?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。