Чтобы конкретно ответить на ваш вопрос о предупреждении Pycharm, в настоящее время вы сталкиваетесь с предупреждением известной проблемы , вызванным проверкой Pycharm на наличие типов в коде, поскольку PyCharm сбит с толку, поскольку ожидает TestClassобъект, но получает объект словарь вместо.
Один из способов справиться с этим - отключить этот конкретный тип предупреждения, как это можно перефразировать с здесь
- Перейти к настройкам / настройкам
- На боковой панели щелкните Инспекции
- Разверните вкладку Python
- Прокрутите вниз до
Incorrect Call Arguments
и снимите флажок - Если это не сработает, вместо этого вы можете снять флажок
Type Checker
.
Еще один более элегантный метод, хотя я не уверен, разрешит ли это предупреждение PyCharm, - это добавить декоратор в вашу функцию, чтобы PyCharm знал, что ваш возвращаемый тип являетсяДИКТ. Учебное пособие - здесь , но ваша строка документации, вероятно, будет включать это:
"""
:rtype: Dict [str,int]
"""
Кроме того, вы, вероятно, должны использовать декоратор @staticmethod
в функции get_keys, так какупомянуто Жаном, поскольку он принимает объект и возвращает его ключи (и мы не хотим, чтобы этот объект обращался к нашим данным TestClass в процессе).