1 回答

TA貢獻1834條經(jīng)驗 獲得超8個贊
有兩種方法可以從該類外部調(diào)用該類的方法。更常見的方法是在類的實例上調(diào)用方法,如下所示:
# 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方法定義中的參數(shù)引用該方法被調(diào)用的實例,并作為第一個參數(shù)隱式傳遞給該方法。您可能希望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?)
第二種方法是調(diào)用類方法。這可能不是您真正想要的,但是為了完整起見,我將對其進行簡要定義:類方法綁定到a class,而不是該類的實例。您使用裝飾器聲明它們,因此您的方法定義如下所示:
class SuchAndSuch(object):
@classmethod
def update(cls):
pass # do stuff
然后,您可以在沒有類實例的情況下調(diào)用此方法:
SuchAndSuch.update()
添加回答
舉報