Являются ли тройные кавычки символами Unicode в соответствии с python

Я пытаюсь использовать тройные кавычки для обозначения большого комментария, но я получаю новую ошибку, которая говорит

SyntaxError: неверная строка (возможно, содержит символ Unicode) в строке 2

Вот код

"""

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?"

Если это повторный пост, не стесняйтесь перемещать его.

0 ответов

В вашем примере все предоставленные символы являются действительными символами ASCII ( блок Basic Latin Unicode просто имеет тот же набор символов, что и ASCII). Таким образом, это не должно вызывать проблем в стандартном интерпретаторе Python, таком как CPython или PyPy (независимо от того, Python это 2 или 3).

Являются ли тройные кавычки символами Unicode в соответствии с Python?

Технически все символы ASCII включены в Unicode, но я думаю, что вы действительно спрашиваете: "Являются ли тройные кавычки символами ASCII?", На что ответ - "Нет". Их всего три ЦИТАТЫ (") в ряд.

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

Вы также можете легко проверить это в Python 3.7+, используя str.isascii метод:

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

Раньше считалось, что для использования литералов Unicode в исходных файлах вам нужно было включить специальный комментарий в первую или вторую строку ваших исходных файлов (например,# -*- coding: utf-8 -*-), но в исходных файлах Python 3 по умолчанию используется UTF-8.

Другие вопросы по тегам