1 回答
TA贡献1834条经验 获得超8个赞
有两种方法可以从该类外部调用该类的方法。更常见的方法是在类的实例上调用方法,如下所示:
# pass all the variables that __init__ requires to create a new instance
such_and_such = SuchAndSuch(pos, vel, ang, ang_vel, image, info)
# now call the method!
such_and_such.update()
就那么简单!self方法定义中的参数引用该方法被调用的实例,并作为第一个参数隐式传递给该方法。您可能希望such_and_such成为模块级(“全局”)对象,因此每次按键时都可以引用和更新同一对象。
# Initialize the object with some default values (I'm guessing here)
such_and_such = SuchAndSuch((0, 0), (0, 0), 0, 0, None, '')
# Define keydown to make use of the such_and_such object
def keydown(key):
if key == simplegui.KEY_MAP['up']:
such_and_such.update()
# (Perhaps your update method should take another argument?)
第二种方法是调用类方法。这可能不是您真正想要的,但是为了完整起见,我将对其进行简要定义:类方法绑定到a class,而不是该类的实例。您使用装饰器声明它们,因此您的方法定义如下所示:
class SuchAndSuch(object):
@classmethod
def update(cls):
pass # do stuff
然后,您可以在没有类实例的情况下调用此方法:
SuchAndSuch.update()
添加回答
举报