Код: Выделить всё
from abc import ABC, abstractmethod
from typing import *
class ExampleClass(ABC):
@abstractmethod
def get(self):
pass
def class_factory(s: str) -> Type[ExampleClass]:
class SpecificClass(ExampleClass):
def __init__(self):
pass
def get(self):
return s
return SpecificClass
ASubclass = class_factory("A")
BSubclass = class_factory("B")
def f(x: ASubclass):
pass
Код: Выделить всё
Variable not allowed in type expression Pylance(reportGeneralTypeIssues)
Я хочу, чтобы VS Code (или любой статический анализатор) вел себя с этим кодом без необходимости выписывать десятки или сотни потенциально похожих классов.
Код: Выделить всё
from abc import ABC, abstractmethod
from typing import *
class ExampleClass(ABC):
@abstractmethod
def get(self):
pass
class ASubclass(ExampleClass):
def get(self):
return "A"
class BSubclass(ExampleClass):
def get(self):
return "B"
def f(x: ASubclass):
pass
Подробнее здесь: https://stackoverflow.com/questions/778 ... ognize-cla