59580
Pythonで

```

    global r1 r2 r3
    
```

や

```

    return r1 r2 r3
    
```

と宣言する際に

```

    global 'r'+ str(i) for i in range(1, 4)
    
```

のようにするとinvalid syntaxになってしまいます。  
回避する良い方法はないでしょうか。  
（この書き方をするとdefの引数を設定してr3 r4 r5 r6のように可変にできると考えているのですが…）
CC BY-SA 4.0
2019-10-08T13:24:28.933
59579
2019-10-08T14:54:22.460
2019-10-08T13:35:58.437
12457
12457
question
python python3
Pythonで連番のオブジェクトを宣言する際の良い書き方について
普通、連番のついた変数名を生成するのは避けて、タプルやリストを使います。これらであれば添え字で自然に連番がつきます。

つまり、こうするのではなく、

```

    r1 = "aaa"
    r2 = "bbb"
    r3 = "ccc"
    
```

こうします。

```

    result = ("aaa", "bbb", "ccc")
    
    # または
    
    result = ["aaa", "bbb", "ccc"]
    
    # 各要素には result[0], result[1], result[2] として参照できます
    # タプルは長さが決まっているので、今回の例ではタプルの方が向いていそうです
    
```

また、辞書の形にしてもう少し柔軟に名前をつけることもできます。
CC BY-SA 4.0
2019-10-08T14:06:10.730
59580
2019-10-08T14:54:22.460
2019-10-08T14:54:22.460
19110
19110
59579
answer