我正在尝试使用我的类型提示进行有条理的工作,以使代码更易于添加。

我做了以下课程:

class Player(ABC)
    @abstractmethod
    def some_function():
        pass

class SomeSubclass(Player):
    def some_function():
        #some meaningfull code
        pass

p1: Type[Player] = SomeSubclass()


在最后一行中,我收到了PyCharm的预期类型错误:


  预期类型'Type [Player]'改为'SomeSubclass'


我使用错误的Typehint还是缺少其他内容?

最佳答案

如果变量应该是实例而不是类,则无需使用Type。这些中的任何一个都可以工作:

p1: Player = SomeSubclass()


要么

p1: SomeSubclass = SomeSubclass()


或者,如果您希望p1是类而不是实例:

p1: Type[Player] = SomeSubclass

关于python - Typehint用于Python中的子类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58754267/

10-12 16:46