第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在課程外使用方法?

如何在課程外使用方法?

犯罪嫌疑人X 2021-03-16 13:09:01
我正在學習python類。我在我們的論壇上要求提供有關此方面的提示,但是沒有運氣。我認為我的實施非常糟糕。我對此很陌生,所以即使我提出問題的方式也要忍受。上面的問題是告訴我我需要做的事情。我已經(jīng)嘗試過,但是沒有運氣,所以我來這里尋求幫助。最終,我試圖讓我的按鍵處理程序響應我的按鍵操作。之前我已經(jīng)做過,但是我們還沒有開始上課。那就是障礙所在。我應該實現(xiàn)類方法/變量以使其工作,而不要使用新的變量或新的全局變量。例如class SuchAndSuch:    def __init__(self, pos, vel, ang, ang_vel, image, info, sound = None):        self.pos = [pos[0],pos[1]]        self.vel = [vel[0],vel[1]]        self.angle = ang        self.angle_vel = ang_vel        self.image = image    def update(self):        # this is where all the actual movement and rotation should happen        ...下面的處理程序在SuchAndSuch類之外:def keydown(key):    # need up left down right buttons    if key == simplegui.KEY_MAP["up"]:        # i'm supposed to just call methods here to make the keys respond???    ...因此,所有更新都應該在SuchAndSuch類中進行,并且僅此更新的調(diào)用應在我的密鑰處理程序中。有人可以給我一個例子,說明他們說這話的意思嗎?我嘗試在密鑰處理程序中將所有變量(或論壇中提供的想法)錯誤定義為“未定義”。
查看完整描述

1 回答

?
MMMHUHU

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()


查看完整回答
反對 回復 2021-03-30
  • 1 回答
  • 0 關注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號