Python:未绑定方法

1 投票
1 回答
971 浏览
提问于 2025-04-16 20:55

当我尝试绑定一个方法时,出现了一个错误:

Traceback (most recent call last):
  File "pygametest3.py", line 12, in <module>
    render = winback.rend()
TypeError: unbound method rend() must be called with winback instance as first argument (got nothing instead)

这是代码,直到出错的地方:

import sys, pygame

pygame.init()

class winback:
    """Render the window"""
    def rend(self):
        rendsurf.fill(black)
        rendsurf.blit (landsurf, (landx,landy,640,480))
        screen.blit (rendsurf, (0,0,640,480))
        pygame.display.flip()
render = winback.rend()

另外,如果这看起来很明显,不值得发帖/重发,我感到抱歉。这是我第一次真正深入学习Python,我今天一直在研究这个,感觉有点笨,而且现在已经是凌晨12:30了。

1 个回答

4

在调用类里的普通方法之前,必须先创建这个类的实例。

class Winback(object):
  def rend(self):
    ...

winback = Winback()
render = winback.rend()

或者你可以使用 @staticmethod但最好把它做成一个模块级别的函数

撰写回答