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""` は改行のためではなく、
エスケープを無効にするために使うもの** なので、
誤解しないようにしてください!
コメント
コメントを投稿