Являются ли тройные кавычки символами 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.