我正在使用为python 3+配置的pylint使用此代码:

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]()


我收到此错误:

python - 为什么pylint告诉我我的dict属性是 undefined variable ?-LMLPHP

我的代码运行良好,但是这个错误不会消失的事实使我发疯。为什么告诉我这是未定义的?

最佳答案

字典键应该是一个不变值,或者是一个包含不变值的变量(例如字符串或数字)。 name不是字符串,也没有在当前作用域中定义为变量。解决此问题的一种方法是

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

关于python - 为什么pylint告诉我我的dict属性是 undefined variable ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50276640/

10-13 09:05