1

三重引用符を使用して大きなコメントを指定しようとしていますが、次のような新しいエラーが表示されます

SyntaxError: 2 行目の無効な文字列 (Unicode 文字が含まれている可能性があります)

これがコードです。

"""

Write a program that asks the user how many names they have. 
(If they have a first name, two middle names, and a last 
name, for example, they would type 4.) Then, using a for 
loop, ask the user for each of their names. Finally, print 
their full name.

"""

私が問題を抱えている三重引用符は、一番上にあるものです。

その情報が邪魔にならないので、私の質問は「Pythonによると、三重引用符はユニコード文字ですか?」です。

これが繰り返しの投稿である場合は、自由に移動してください。

4

1 に答える 1

0

あなたの例では、提供された文字はすべて有効な ASCII 文字です( Basic Latin Unicode ブロックはたまたま ASCII とまったく同じ文字セットを持っています)。したがって、これはCPythonPyPyのような標準の Python インタープリターで問題を引き起こすことはありません(Python 2 か 3 かに関係なく)。

Pythonによると、三重引用符はUnicode文字ですか?

技術的にはすべての ASCII 文字が Unicode に含まれていますが、あなたが本当に尋ねているのは「三重引用符は非 ASCII 文字ですか?」ということで、答えは「いいえ」です。引用符( ") が3 つ並んだだけです。

>>> for c in '"""':
...     print('Character:', repr(c))
...
Character: '"'
Character: '"'
Character: '"'

str.isasciiメソッドを使用して、Python 3.7+ でこれを簡単に確認することもできます。

>>> '"""'.isascii()
True
>>> '""☺'.isascii()
False

以前は、ソース ファイルで Unicode リテラルを使用するには、ソース ファイルの 1 行目または 2 行目に特別なコメントを含める必要がありましたが(例: # -*- coding: utf-8 -*-)、Python 3 のソース ファイルではデフォルトで UTF-8 が使用されます

于 2020-02-19T06:37:47.077 に答える