class GameStart(GameManager): def __init__(self, metadata: Dict[str, str]): super().__init__(metadata) self.bird: str = random.choice(listdir_clean(settings.BIRD_IMG_PATHS)) self.metadata['bird'] = self.bird # load images self.bird_image: Union[surface.Surface, None] = None self.background_image: Union[surface.Surface, None] = None self.ground_image: Union[surface.Surface, None] = None self.start_image: Union[surface.Surface, None] = None self._load_content() 以上是我会先声明一些空的图片对象,之后再在 load_content 里面加载这些对象
我不能直接声明一个 Surface 类型再赋值为 None ,这样插件会报错,也无法通过 mypy 类型检查,但是赋值为 Union 类型不仅每次要判断非 None ,在一些场景下还会出现类型不兼容,请问有没有更优雅的方法
