You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeError求助:Sprite.__init__()收到意外关键字参数'position'

问题解决:TypeError: Sprite.init() got an unexpected keyword argument 'position'

问题根源

你的Tile类构造方法名写错了:把__init__写成了__int__。Python中类的构造方法必须是__init__,当你定义__int__时,它不会被当作构造方法执行,实例化Tile时会直接调用父类pygame.sprite.Sprite的__init__方法,而父类的__init__不接受position参数,因此触发报错。

修复代码

修改Tile类的构造方法名:

class Tile(pygame.sprite.Sprite):
    # 把__int__改成__init__
    def __init__(self, position, surface, groups):
        super().__init__(groups)
        self.image = surface
        self.rect = self.image.get_rect(topleft=position)

验证说明

你参考的示例代码中肯定使用的是__init__,只是你在编写时误写成了__int__。修改后,自定义的构造方法会被正确调用,position参数会被Tile类处理,不会传递给父类的__init__方法,报错即可解决。

内容的提问来源于stack exchange,提问作者Ru0_xtine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:42:06