Рубрики
Без рубрики

Python предостережения # 1: Многоуровневый комментарий в виде питона

Как поставить многослойные комментарии в Python Dict? Должны ли мы использовать тройные цитаты стиль или многослойные хэши? Помечено Python, советы, начинающими.

Допустим, у нас есть дикт 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”