Ключевое слово self

Ключевое слово self ссылается на текущий экземпляр виджета. С его помощью можно, например, получить значения свойств текущего виджета. Например,

Демонстрация использования ключевого слова self

from kivy. app import App
from kivy.lang import Builder
KV = '''
Button
    text: "Состояние кнопки – %s"% self.state
'''

class MainApp (App):
    def build (self):
        return Builder.load_string(KV)
        
if __name__ == '__main__':
    MainApp().run() 

Здесь свойству кнопки text, через префикс self присвоено значение ее же свойства – состояние кнопки (self.state). Получается, что кнопка сделала запрос сама к себе. После запуска приложения получим следующий результат:

Или вот пример, где создаются три кнопки, каждая по щелчку меняет текст на кнопки, считая количество кликов по ней:

Демонстрация использования ключевого слова self

from kivy. app import App
from kivy.lang import Builder
KV = '''
<MyButton@Button>:
    pos_hint: {'center_x':.5, 'center_y':.6}
    font_size: '25sp'
    markup: True
    on_press: self.text=str(int(self.text)+1)
BoxLayout:
    orientation: "vertical"
    MyButton:
        text: "0"
    MyButton:
        text: "0"
    MyButton:
        text: "0"
'''

class MainApp (App):
    def build (self):
        return Builder.load_string(KV)
        
if __name__ == '__main__':
    MainApp().run() 

Получим, что-то вроде этого: