Почему Pylint говорит мне, что мой атрибут dict является неопределенной переменной? - PullRequest
0 голосов
/ 10 мая 2018

Я работаю с этим кодом, используя Pylint, настроенный для Python 3 +:

import utils

valid_commands = ['category', 'help', 'exit']

def createCategory():
    utils.clear()
    category = {
        name: 'test' <- allegedly undefined
    }
    utils.insertCategory(category)

def listActions():
    utils.clear()
    for command in valid_commands:
        print(command)

def exit():
    utils.clear()

actions = {
    'category': createCategory,
    'help':     listActions,
    'exit':     exit
}

command = ''
while command != 'exit':
    command = input('task_tracker> ')
    if command in valid_commands:
        actions[command]()

Я получаю эту ошибку:

enter image description here

Мой код работает нормально, но тот факт, что эта ошибка не исчезнет, ​​сводит меня с ума.Почему это говорит мне, что это не определено?

1 Ответ

0 голосов
/ 10 мая 2018

Ключ словаря должен быть либо неизменяемым значением, либо переменной, которая содержит неизменяемое значение (например, строку или число). name не является строкой и не определяется как переменная в текущей области видимости. Один из способов исправить это будет

def createCategory():
    utils.clear()
    category = {
        'name': 'test'
    }
    utils.insertCategory(category)
...