質問するログイン新規登録

回答編集履歴

6

追記

2019/10/25 07:36

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  pythonで文字列中に`\`を入れると、続く文字列と合わせてpythonのエスケープシーケンスと解釈されます。`\n`とかを思い浮かべていただくと良いかと思います。
2
2
 
3
- ただし、`\d`のような場合ですと、対応するエスケープシーケンスはありません。こういうとき、pythonは`\d`であるとみなします。これはこれで(多くの場合は)ちゃんと意図した結果になるのですが、あまりお行儀の良い書き方ではないので何かと警告が出ます。
3
+ ただし、`\d`のような場合ですと、対応するエスケープシーケンスはありません。こういうとき、pythonは`\d`であるとみなします。これはこれで(多くの場合は)ちゃんと意図した結果になるのですが、あまりお行儀の良い書き方ではないので何かと警告が出ます(lintツールなどから)
4
4
 
5
5
  `"(\d{4})/(\d{1,2})/(\d{1,2})"`と書く代わりに、`"(\d{4})/(\d{1,2})/(\d{1,2})"`と書くか、raw文字列にするか(`r"(\d{4})/(\d{1,2})/(\d{1,2})"`のように)のどちらかを選択してください。
6
6
 

5

追記

2019/10/25 07:35

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,4 +1,4 @@
1
- 基本的に`\`を入れるとpythonのエスケープシーケンスと解釈されます。`\n`とかを思い浮かべていただくと良いかと思います。
1
+ pythonで文字列中に`\`を入れると、続く文字列と合わせてpythonのエスケープシーケンスと解釈されます。`\n`とかを思い浮かべていただくと良いかと思います。
2
2
 
3
3
  ただし、`\d`のような場合ですと、対応するエスケープシーケンスはありません。こういうとき、pythonは`\d`であるとみなします。これはこれで(多くの場合は)ちゃんと意図した結果になるのですが、あまりお行儀の良い書き方ではないので何かと警告が出ます。
4
4
 

4

編集

2019/10/24 04:11

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ただし、`\d`のような場合ですと、対応するエスケープシーケンスはありません。こういうとき、pythonは`\d`であるとみなします。これはこれで(多くの場合は)ちゃんと意図した結果になるのですが、あまりお行儀の良い書き方ではないので何かと警告が出ます。
4
4
 
5
- raw文字列にするか(`r"(\d{4})/(\d{1,2})/(\d{1,2})"`のよう、`"(\d{4})/(\d{1,2})/(\d{1,2})"`の代わりに`"(\d{4})/(\d{1,2})/(\d{1,2})"`と書くかのどちらかを選択してください。
5
+ `"(\d{4})/(\d{1,2})/(\d{1,2})"`と書く代わりに、`"(\d{4})/(\d{1,2})/(\d{1,2})"`と書くか、raw文字列するか(`r"(\d{4})/(\d{1,2})/(\d{1,2})"`のように)のどちらかを選択してください。
6
6
 
7
7
 
8
8
  [2. 字句解析 — Python 3.8.0 ドキュメント](https://docs.python.org/ja/3/reference/lexical_analysis.html#string-and-bytes-literals)

3

追記

2019/10/24 04:01

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ただし、`\d`のような場合ですと、対応するエスケープシーケンスはありません。こういうとき、pythonは`\d`であるとみなします。これはこれで(多くの場合は)ちゃんと意図した結果になるのですが、あまりお行儀の良い書き方ではないので何かと警告が出ます。
4
4
 
5
- r文字列にするか(`r"(\d{4})/(\d{1,2})/(\d{1,2})"`のように)、`"(\d{4})/(\d{1,2})/(\d{1,2})"`の代わりに`"(\d{4})/(\d{1,2})/(\d{1,2})"`と書くかのどちらかを選択してください。
5
+ raw文字列にするか(`r"(\d{4})/(\d{1,2})/(\d{1,2})"`のように)、`"(\d{4})/(\d{1,2})/(\d{1,2})"`の代わりに`"(\d{4})/(\d{1,2})/(\d{1,2})"`と書くかのどちらかを選択してください。
6
6
 
7
7
 
8
8
  [2. 字句解析 — Python 3.8.0 ドキュメント](https://docs.python.org/ja/3/reference/lexical_analysis.html#string-and-bytes-literals)

2

追記

2019/10/24 04:00

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  基本的に`\`を入れるとpythonのエスケープシーケンスと解釈されます。`\n`とかを思い浮かべていただくと良いかと思います。
2
2
 
3
- ただし、`\d`のような場合ですと、対応するエスケープシーケンスはありません。こういうとき、pythonは`\d`であるとみなします。これはこれでちゃんと意図した結果になるのですが、あまりお行儀の良い書き方ではないので何かと警告が出ます。
3
+ ただし、`\d`のような場合ですと、対応するエスケープシーケンスはありません。こういうとき、pythonは`\d`であるとみなします。これはこれで(多くの場合は)ちゃんと意図した結果になるのですが、あまりお行儀の良い書き方ではないので何かと警告が出ます。
4
4
 
5
5
  r文字列にするか(`r"(\d{4})/(\d{1,2})/(\d{1,2})"`のように)、`"(\d{4})/(\d{1,2})/(\d{1,2})"`の代わりに`"(\d{4})/(\d{1,2})/(\d{1,2})"`と書くかのどちらかを選択してください。
6
6
 

1

例を修正

2019/10/24 03:59

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ただし、`\d`のような場合ですと、対応するエスケープシーケンスはありません。こういうとき、pythonは`\d`であるとみなします。これはこれでちゃんと意図した結果になるのですが、あまりお行儀の良い書き方ではないので何かと警告が出ます。
4
4
 
5
- r文字列にするか(`r"hogehoge"`のように)、`"\d"`の代わりに`"\d"`と書くかのどちらかを選択してください。
5
+ r文字列にするか(`r"(\d{4})/(\d{1,2})/(\d{1,2})"`のように)、`"(\d{4})/(\d{1,2})/(\d{1,2})"`の代わりに`"(\d{4})/(\d{1,2})/(\d{1,2})"`と書くかのどちらかを選択してください。
6
6
 
7
7
 
8
8
  [2. 字句解析 — Python 3.8.0 ドキュメント](https://docs.python.org/ja/3/reference/lexical_analysis.html#string-and-bytes-literals)