python_文字列を複数行にわたって定義

pythonで文字列を変数に格納するとき、

その文字列を複数行にわたって記述したいとkは

rを使って定義すればいいのでしょうか?


Pythonで文字列を複数行にわたって記述したい場合、

**raw文字列(`r""`)** ではなく、

**三重クォート(`""" """` または `''' '''`)** 

を使うのが一般的です。



### 1. **三重クォートを使う方法**


```python


text = """これは

複数行に

またがる

文字列です。"""


print(text)



```


**出力:**


```

これは

複数行に

またがる

文字列です。


```

この方法では、改行をそのまま含めることができます。


### 2. **`\n` を使う方法**


```python


text = "これは\n複数行に\nまたがる\n文字列です。"

print(text)


```

**出力は同じ:**


```

これは

複数行に

またがる

文字列です。


```

`\n` を使うことで改行を表現できます。


---


### 3. **`r""`(raw文字列)の役割**


`r""` は、**エスケープシーケンス(`\n` や `\t` など)

を無効にする**ために使います。


```python


text = r"これは\nエスケープシーケンスを無視します。"

print(text)


```


**出力:**


```


これは\nエスケープシーケンスを無視します。


```


`\n` は改行されず、そのまま文字列として扱われます。


もし **複数行をそのまま書きたい** のなら 

`r""" """` を使うこともできますが、

改行もそのまま文字列に含まれるだけです。



```python


text = r"""これは

エスケープシーケンスを

無視する

文字列です。\n"""

print(text)


```

**出力:**


```

これは

エスケープシーケンスを

無視する

文字列です。\n

```

`\n` がそのまま出力される点に注意してください。


---


### まとめ


✅ **複数行の文字列を扱いたいなら**


- **三重クォート(`""" """` または `''' '''`)** を使う



✅ **エスケープシーケンスを無視したいなら**


- **`r""` を使う(改行をそのまま書くなら `r""" """`)**


**`r""` は改行のためではなく、

エスケープを無効にするために使うもの** なので、

誤解しないようにしてください!


コメント