Я пишу миксин в Python3.8:
class Cloneable:
def change_field(self, **kwargs):
""" Create a new object with only the specified properties changed."""
argdict = {**kwargs, **{key: self.__getattribute__(key) for key in self.__slots__ if
key not in kwargs and key[:2] != '__'}}
return self.__class__(**argdict)
В PyCharm я получаю предупреждение «Неожиданный аргумент» в последней строке. Предположительно, это связано с распаковкой аргумента ключевого слова. Если бы это была функция, я мог бы включить **kwargs
в сигнатуру функции, но это миксин, и я заранее не знаю, к какому __init__
он будет относиться.
Как я могу подавить такие надоедливые предупреждения?