-5
雖然學習kivy/Python應用程序的開發,我碰到這個代碼super()實際上是如何工作的以及它對於什麼目的有用?
class LoginScreen(GridLayout):
super(LoginScreen, self).__init__(**kwargs)
。 。 。 我只是困惑如何super()實際上工作.. &請你能提醒什麼是雙星(**)之前kwargs的意思? 謝謝!
雖然學習kivy/Python應用程序的開發,我碰到這個代碼super()實際上是如何工作的以及它對於什麼目的有用?
class LoginScreen(GridLayout):
super(LoginScreen, self).__init__(**kwargs)
。 。 。 我只是困惑如何super()實際上工作.. &請你能提醒什麼是雙星(**)之前kwargs的意思? 謝謝!
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()
聽起來像谷歌很容易 –
我說這兩個愚蠢的目標是好的。讓我們把它們連接起來。 –