Допустим, у нас есть дикт Python, и мы должны были документировать общий формат пар клавишных пар. Для отсутствия лучшего примера давайте возьмем следующее Dict в качестве примера:
family = { "goku": { "name": "Goku", "race": "Saiyan", "aliases": ["Son Goku", "Kakarot"], }, "chi-chi": { "name": "Chi Chi", "race": "Human", "aliases": ["The Ox-Princess"], }, "gohan": { "name": "gohan", "race": "Saiyan", "aliases": ["Great Saiyaman", "Son Gohan"], }, }
Общий формат пары ключ-значение:
"username": { "name": "", "race": "", "aliases" [], }
А добавить это как комментарий, мы можем попробовать это:
family = { """ General format of entries is "username": { "name": "", "race": "", "aliases" [], } """ "goku": { "name": "Goku", "race": "Saiyan", "aliases": ["Son Goku", "Kakarot"], }, "chi-chi": { "name": "Chi Chi", "race": "Human", "aliases": ["The Ox-Princess"], }, "gohan": { "name": "gohan", "race": "Saiyan", "aliases": ["Great Saiyaman", "Son Gohan"], }, }
Давайте проверим ключи этого Dict сейчас.
In [15]: family.keys() Out[15]: ['\n General format of entries is\n\n "username": {\n "name": "",\n "race": "",\n "aliases" [],\n }\n\n goku', 'gohan', 'chi-chi']
Задерживать! Почему это модифицировать Goku
нить? Это потому, что что-то в окружении "" "
Не обязательно означает комментарии в Python. Это просто многословная строка. Представьте его как строковый литерал, который не назначен ни одной переменной. Там нет такой вещи, как многоуровневые комментарии в Python, в отличие от других языков программирования. Правильный способ поставить многослойные комментарии с использованием #
Отказ
Вы вспомните, используя «« «
поставить комментарии в начале функции/класса, а также иначе известное как Docstrings. Ну, что вы знаете, эти доклады не совсем комментарии. Это просто строковая буквальная и стандартная конвенция [1] .
Так что правильный способ положить комментарий в Dict было бы
family = { # General format of entries is # "username": { # "name": "", # "race": "", # "aliases" [], # } "goku": { "name": "Goku", "race": "Saiyan", "aliases": ["Son Goku", "Kakarot"], }, "chi-chi": { "name": "Chi Chi", "race": "Human", "aliases": ["The Ox-Princess"], }, "gohan": { "name": "gohan", "race": "Saiyan", "aliases": ["Great Saiyaman", "Son Gohan"], }, }
TL; доктор
Там нет такой вещи, как многоровный комментарий в Python. Использовать #
На каждой строке, чтобы по-настоящему создавать многословные комментарии.
[1] PEP 257 – Конвенции Docstring
Первоначально опубликовано на rookieslab.com
Оригинал: “https://dev.to/ivarojha/python-caveats-1-multiline-comment-within-a-python-dict-1k0k”