2017-08-04 52 views
-5

雖然學習kivy/Python應用程序的開發,我碰到這個代碼super()實際上是如何工作的以及它對於什麼目的有用?

class LoginScreen(GridLayout): 
    super(LoginScreen, self).__init__(**kwargs) 

。 。 。 我只是困惑如何super()實際上工作.. &請你能提醒什麼是雙星(**)之前kwargs的意思? 謝謝!

+5

聽起來像谷歌很容易 –

+1

我說這兩個愚蠢的目標是好的。讓我們把它們連接起來。 –

回答

-1

super讓我們來引用基類。在這種情況下,它指的是GridLayout並調用其init函數。

**kwargs讓我們來傳遞keyworded參數,如(text='Palim')

我正在使用這個,如果我想覆蓋init方法,但首先要做基類的init。 這裏是一個例子。我仍然想使用基本的初始化,但也設置我的手錶刷新每秒。

class IncrediblyCrudeClock(Label): 
    def __init__(self, **kwargs): 
     super(IncrediblyCrudeClock, self).__init__(**kwargs) 
     Clock.schedule_interval(self.update, 1) 

    def update(self, *args): 
     self.text = time.asctime() 
相關問題