Принудительно сделать метод статическим, используя аннотацию типа/файл-заглушкуPython

Программы на Python
Anonymous
Принудительно сделать метод статическим, используя аннотацию типа/файл-заглушку

Сообщение Anonymous »

Для простоты предположим, что у меня есть метакласс, который делает все определенные методы статическими. Итак

Код: Выделить всё

class A(metaclass=AllStatic):
def inc(x): # no need for @staticmethod
return x + 1
Конечно, IDE (например, PyCharm) отображают это как потенциальную ошибку, поскольку они не могут статически определить, что делает мой метакласс.
Есть есть ли способ как-то аннотировать inc, чтобы предупреждение исчезло?
Я пробовал использовать файл-заглушку, но это не помогло:

Код: Выделить всё

class A:
@staticmethod
def inc(x): ...

# also this
class A:
inc: staticmethod
Моя конечная цель — заставить PyCharm понять, что метод уже статичен. Возможно ли это вообще с текущими версиями Python?


Подробнее здесь: https://stackoverflow.com/questions/661 ... -stub-file

Вернуться в «Python»