подскажите как назначить один метод на все кнопки чтобы не копипастить методами?

# from kivy.uix.button import Button
# from kivy.uix.boxlayout import BoxLayout
# from kivy.uix.label import Label
# from kivy.uix.gridlayout import GridLayout
from kivy.core.audio import SoundLoader
# from kivy.uix.scrollview import ScrollView
# from kivy.app import runTouchApp
# from kivy.uix.carousel import Carousel
# from kivy.core.window import Window
from kivy.lang import Builder
#from kivy.uix.screenmanager import ScreenManager, Screen
from kivymd.uix.screenmanager import MDScreenManager
# from kivy.uix.behaviors import ButtonBehavior
# from kivy.uix.button import MDReactangleFlatButton
# from kivy.uix.screenmanager import MDScreen
# from kivy.uix.image import Image
#from kivy.core.window import Window
#Window.size = (1080, 2340)

#from kivy.config import Config
#Config.set('graphics', 'resizable', '0')
#Config.set('graphics', 'width', '1080')
#Config.set('graphics', 'height', '2340')
# Window.size = (480, 483)
# Window.clearcolor = (255/255, 186/255, 3/255, 1)
# from kivymd.uix.label import MDLabel
from kivymd.app import MDApp
from kivymd.theming import ThemeManager
from kivymd.uix.screen import MDScreen
# from kivymd.uix.label import MDIcon
# from kivymd.uix.list import OneLineIconListItem
#from kivy.uix.label import Label
#from kivy.properties import ObjectProperty


#class ShadowLabel(Label):
    #decal = ListProperty([2, -2])
    #tint = ListProperty([1, 1, 1, 5])

class ScreenManagement(MDScreenManager):
    pass

#class MainScreen(Screen):
    #pass

class Link(MDScreen):

    #image = ObjectProperty()
    def sound(self):
        buton = SoundLoader.load("easy.mp3")
        buton.play()
    def sound2(self):
        buton = SoundLoader.load("futbolochka.mp3")
        buton.volume = 0.20
        buton.play()
    def sound3(self):
        buton = SoundLoader.load("eblo.mp3")
        buton.volume = 0.20
        buton.play()
    def sound4(self):
        buton = SoundLoader.load("pvp.mp3")
        buton.volume = 0.30
        buton.play()
    def sound5(self):
        buton = SoundLoader.load("iwillback.mp3")
        buton.play()
    def sound6(self):
        buton = SoundLoader.load("good.mp3")
        buton.play()
    def sound7(self):
        buton = SoundLoader.load("poxuy.mp3")
        buton.play()
    def sound8(self):
        buton = SoundLoader.load("ddoc.mp3")
        buton.volume = 0.30
        buton.play()
    def sound9(self):
        buton = SoundLoader.load("idudoser.mp3")
        buton.volume = 0.30
        buton.play()
    def sound10(self):
        buton = SoundLoader.load("ariva.mp3")    # здесь все это убрать, чтобы не занимало место
        buton.play()                             # возможно ли это?
    def sound11(self):
        buton = SoundLoader.load("nekukold.mp3")
        buton.play()
    def sound12(self):
        buton = SoundLoader.load("sole.mp3")
        buton.play()

    def change_image_on(self):
        self.ids.my_image.source = "image2.png"
    def change_image_off(self):
        self.ids.my_image.source = "image.png"
    def change_image_on2(self):
        self.ids.my_image2.source = "image2.png"
    def change_image_off2(self):
        self.ids.my_image2.source = "image.png"
    def change_image_on3(self):
        self.ids.my_image3.source = "image2.png"
    def change_image_off3(self):
        self.ids.my_image3.source = "image.png"
    def change_image_on4(self):
        self.ids.my_image4.source = "image2.png"
    def change_image_off4(self):
        self.ids.my_image4.source = "image.png"
    def change_image_on5(self):
        self.ids.my_image5.source = "image2.png"
    def change_image_off5(self):
        self.ids.my_image5.source = "image.png"
    def change_image_on6(self):
        self.ids.my_image6.source = "image2.png"
    def change_image_off6(self):
        self.ids.my_image6.source = "image.png"
    def change_image_on7(self):
        self.ids.my_image7.source = "image2.png"
    def change_image_off7(self):
        self.ids.my_image7.source = "image.png"
    def change_image_on8(self):
        self.ids.my_image8.source = "image2.png"
    def change_image_off8(self):
        self.ids.my_image8.source = "image.png"
    def change_image_on9(self):
        self.ids.my_image9.source = "image2.png"   # здесь все это
    def change_image_off9(self):
        self.ids.my_image9.source = "image.png"
    def change_image_on10(self):
        self.ids.my_image10.source = "image2.png"
    def change_image_off10(self):
        self.ids.my_image10.source = "image.png"
    def change_image_on11(self):
        self.ids.my_image11.source = "image2.png"
    def change_image_off11(self):
        self.ids.my_image11.source = "image.png"
    def change_image_on12(self):
        self.ids.my_image12.source = "image2.png"
    def change_image_off12(self):
        self.ids.my_image12.source = "image.png"


class German(MDScreen):
    def sound(self):
        buton = SoundLoader.load("blatcy.mp3")   # здесь все это
        buton.play()
    def sound2(self):
        buton = SoundLoader.load("lady.mp3")
        buton.play()
    def sound3(self):
        buton = SoundLoader.load("ktoeto.mp3")
        buton.play()
    def sound4(self):
        buton = SoundLoader.load("nigga.mp3")
        buton.play()
    def sound8(self):
        buton = SoundLoader.load("nravica.mp3")
        buton.play()
    def sound9(self):
        buton = SoundLoader.load("krasiv.mp3")
        buton.play()

    def change_image_on(self):
        self.ids.my_image.source = "image2.png"
    def change_image_off(self):
        self.ids.my_image.source = "image.png"
    def change_image_on2(self):
        self.ids.my_image2.source = "image2.png"
    def change_image_off2(self):
        self.ids.my_image2.source = "image.png"
    def change_image_on3(self):
        self.ids.my_image3.source = "image2.png"   # здесь все это
    def change_image_off3(self):
        self.ids.my_image3.source = "image.png"
    def change_image_on4(self):
        self.ids.my_image4.source = "image2.png"
    def change_image_off4(self):
        self.ids.my_image4.source = "image.png"
    def change_image_on8(self):
        self.ids.my_image8.source = "image2.png"
    def change_image_off8(self):
        self.ids.my_image8.source = "image.png"
    def change_image_on9(self):
        self.ids.my_image9.source = "image2.png"
    def change_image_off9(self):
        self.ids.my_image9.source = "image.png"

    def sound5(self):
        buton = SoundLoader.load("itsmylife.mp3")  # здесь все это
        buton.play()
    def sound6(self):
        buton = SoundLoader.load("capitan.mp3")
        buton.play()
    def sound7(self):
        buton = SoundLoader.load("free.mp3")
        buton.play()

    def change_image_on5(self):
        self.ids.my_image5.source = "image2.png"     # здесь все это
    def change_image_off5(self):
        self.ids.my_image5.source = "image.png"
    def change_image_on6(self):
        self.ids.my_image6.source = "image2.png"
    def change_image_off6(self):
        self.ids.my_image6.source = "image.png"
    def change_image_on7(self):
        self.ids.my_image7.source = "image2.png"
    def change_image_off7(self):
        self.ids.my_image7.source = "image.png"



class MyApp(MDApp):
    theme_cls = ThemeManager()
    title = "Ебатория"

    def build(self):
        self.theme_cls.theme_style = "Light"
        self.theme_cls.primary_palette = "Orange"
        # self.theme_cls.accent_palette = "Red"
        # self.theme_cls.primary_hue = "800"
        # self.icon = 'qwer.png'


        # t = Builder.load_file('prem_german.kv')
        a = Builder.load_file('german.kv')
        f = Builder.load_file('link.kv')
        # c = Builder.load_file('prem.kv')
        # b = Builder.load_file('my.kv')


        return f


if __name__ == "__main__":
    MyApp().run()


ScreenManagement:
    transition: FadeTransition()
    Link:
    German:

<ItemLabel@MDLabel>:
    size_hint: 1, 0.4
    font_size: "20sp"
    font_style: "H6"
    halign: "left"
    valign: "middle"
    padding: [15,0]
    text_size: self.size
    #line_color: (0.2, 0.2, 0.2, 0.8)
    #markup: True
    #bold: True
    canvas.before:
        Color:
            rgba: (255/255.0,255/255.0,255/255.0,255/255.0) #(39/255.0,245/255.0,212/255.0,66/255.0)
        RoundedRectangle:
            pos: self.pos
            size: self.size
            radius: [20,20,20,20]
    #md_bg_color: (255/255.0,54/255.0,79/255.0,255/255.0)
    #color: (228/255.0,227/255.0,205/255.0,255/255.0)
    #color: (10/255.0,10/255.0,8/255.0,255/255.0)
    #color: (255/255.0,255/255.0,255/255.0,255/255.0)
    color: (0/255.0,0/255.0,0/255.0,255/255.0)
    #decal: 2, -2
    #tint: .1, .1, .1, 1
    #pos: self.parent.pos
    #size: self.parent.size
    #canvas.before:
        #Color:
            #rgba: root.tint
        #Rectangle:
            #pos:
                #int(self.center_x - self.texture_size[0] / 2.) + root.decal[0],\
                #int(self.center_y - self.texture_size[1] / 2.) + root.decal[1]
            #size: root.texture_size
            #texture: root.texture
        #Color:
            #rgba: 1, 1, 1, 1
<ItemButton@MDIconButton>:
    size_hint: 0.9, 0.6   #+HoverBehavior
    icon: "image.png"
    #icon_size: "29sp"
    #theme_text_color: "Custom"
    text_color: "#DEEFF4"
    #on_enter: self.md_bg_color = "#E55D2E"
    #on_leave: self.md_bg_color = "#3B4A53"
    pos_hint: {"x": 0.1, "y": 0.6}  #{"x": 0.2, "y": 0.6}
    background_color: 0,0,0,0
    #size_hint: None, None
    #size: "50dp","50dp"
<Link>:
    name: "link"


    MDGridLayout:
        rows: 5
        #adaptive_width: True
        MDBoxLayout:
            padding: "60dp", "0dp", "60dp", "0dp"
            size_hint: 0.5, 0.1
            #pos_hint: {"center_x": 0.5, "center_y": 0.5}
            #md_bg_color: (255/255.0,54/255.0,79/255.0,255/255.0)
            #MDSlider:
                #id: progress
                #min: 0
                #max: 100
                #value: 0
                #value_track: True
                #hint: False
            Image:
                source: "freak.png"
                pos: self.parent.pos
                #size: self.parent.size
                allow_stretch: True
                keep_ratio: False
        MDScrollView:
            size_hint_y: None
            height: "130dp"
            MDBoxLayout:
                adaptive_width: True
                padding: "20dp","5dp","20dp","10dp"
                spacing: "25dp"
                MDRelativeLayout:
                    height: dp(90)
                    width: "90dp"
                    size_hint: None, None
                    MDCard:
                        size_hint: None, None
                        radius: "53dp"
                        size: "96dp","96dp"
                        pos_hint: {"center_x": .5, "center_y": .7}
                        md_bg_color: (255/255.0,54/255.0,79/255.0,255/255.0)
                    MDCard:
                        size_hint: None, None
                        radius: "53dp"
                        size: "94dp","94dp"
                        pos_hint: {"center_x": .5, "center_y": .7}
                        md_bg_color: 1, 1, 1, 1
                    FitImage:
                        size_hint: 1, 1
                        source: "link.png"
                        radius: "53dp"
                        pos_hint: {"center_x": .5, "center_y": .7}
                    Button:
                        size_hint: 1, 1
                        background_color: 0,0,0,0
                        pos_hint: {"center_x": .5, "center_y": .7}
                    MDLabel:
                        text: "VJLink"
                        halign: "center"
                        pos_hint: {"center_x": .5, "center_y": .0}
                        font_style: "H6"
                        font_size: "13sp"
                MDRelativeLayout:
                    height: dp(90)
                    width: "90dp"
                    size_hint: None, None
                    FitImage:
                        source: "german.png"
                        size_hint: 1, 1
                        radius: "53dp"
                        pos_hint: {"center_x": .5, "center_y": .7}
                    Button:
                        size_hint: 1, 1
                        background_color: 0,0,0,0
                        pos_hint: {"center_x": .5, "center_y": .7}
                        on_release:
                            app.root.current = "german"
                            root.manager.transition.direction = "left"
                    MDLabel:
                        text: "Герман Ягодка"
                        halign: "center"
                        font_style: "H6"
                        pos_hint: {"center_x": .5, "center_y": 0.0}
                        font_size: "13sp"
        MDBoxLayout:
            orientation: "horizontal"
            padding: "10dp", "10dp", "10dp", "0dp"
            spacing: "20dp"
            TabbedPanel:
                tab_pos: 'top_mid'
                background_color: (0, 0, 0, 0)
                size_hint: .5, 1
                do_default_tab: False
                TabbedPanelItem:
                    canvas.before:
                        Color:
                            rgba: (242/255.0,242/255.0,242/255.0,255/255.0)
                        RoundedRectangle:
                            pos: self.pos
                            size: self.size
                            radius: [10,]
                    text: 'Фразы'
                    font_style: "H6"
                    font_size: "15sp"
                    markup: True
                    bold: True
                    background_color: (0, 0, 0, 0)
                    color: (10/255.0,10/255.0,8/255.0,255/255.0)
                    MDScrollView:
                        MDGridLayout:
                            size_hint_y: None
                            cols: 2
                            height: "600dp"
                            padding: "10dp", "0dp", "10dp", "20dp"
                            MDBoxLayout:
                                orientation: "vertical"
                                md_bg_color: (242/255.0,242/255.0,242/255.0,255/255.0)
                                radius: [30,0,0,30]
                                size_hint: 0.3, 0.2
                                padding: "10dp"
                                spacing: "37dp"  #25
                                ItemButton:
                                    on_press: root.sound()
                                    on_press: root.change_image_on()
                                    on_release: root.change_image_off()
                                    Image:
                                        id: my_image
                                        source: "image.png"
                                        #center_x: self.parent.center_x
                                        #center_y: self.parent.center_y
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                        #keep_ratio: False
                                ItemButton:
                                    on_press: root.sound2()
                                    on_press: root.change_image_on2()
                                    on_release: root.change_image_off2()
                                    Image:
                                        id: my_image2
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound3()
                                    on_press: root.change_image_on3()
                                    on_release: root.change_image_off3()
                                    Image:
                                        id: my_image3
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound4()
                                    on_press: root.change_image_on4()
                                    on_release: root.change_image_off4()
                                    Image:
                                        id: my_image4
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound5()
                                    on_press: root.change_image_on5()
                                    on_release: root.change_image_off5()
                                    Image:
                                        id: my_image5
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound6()
                                    on_press: root.change_image_on6()
                                    on_release: root.change_image_off6()
                                    Image:
                                        id: my_image6
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound7()
                                    on_press: root.change_image_on7()
                                    on_release: root.change_image_off7()
                                    Image:
                                        id: my_image7
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                            MDBoxLayout:
                                orientation: "vertical"
                                md_bg_color: (242/255.0,242/255.0,242/255.0,255/255.0)
                                radius: [0,30,30,0]
                                padding: "10dp","10dp","10dp","10dp"
                                spacing: "15dp"
                                ItemLabel:
                                    text: "Изи бризи"
                                MDSeparator:
                                ItemLabel:
                                    text: "И футболочку желательно дудос"
                                MDSeparator:
                                ItemLabel:
                                    text: "В ебло мне дай"
                                MDSeparator:
                                ItemLabel:
                                    text: "Пвп бля че бля попиздимся"
                                MDSeparator:
                                ItemLabel:
                                    text: "Албибек визмачатка"
                                MDSeparator:
                                ItemLabel:
                                    text: "Гуд найс"
                                MDSeparator:
                                ItemLabel:
                                    text: "Похуй нахуй"
                TabbedPanelItem:
                    text: 'Премиум'
                    font_style: "H6"
                    font_size: "15sp"
                    markup: True
                    bold: True
                    background_color: (0, 0, 0, 0)
                    color: (255/255.0,255/255.0,255/255.0,255/255.0)
                    #color: (10/255.0,10/255.0,8/255.0,255/255.0)
                    canvas.before:
                        Color:
                            rgba: (255/255.0,54/255.0,79/255.0,255/255.0)
                        RoundedRectangle:
                            pos: self.pos
                            size: self.size
                            radius: [10,]
                    MDScrollView:
                        MDGridLayout:
                            size_hint_y: None
                            cols: 2
                            height: "500dp"
                            padding: "10dp", "0dp", "10dp", "20dp"
                            MDBoxLayout:
                                orientation: "vertical"
                                md_bg_color: (242/255.0,242/255.0,242/255.0,255/255.0)
                                radius: [30,0,0,30]
                                size_hint: 0.3, 0.2
                                padding: "10dp"
                                spacing: "34dp"  #25
                                ItemButton:
                                    on_press: root.sound9()
                                    on_press: root.change_image_on9()
                                    on_release: root.change_image_off9()
                                    Image:
                                        id: my_image9
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound8()
                                    on_press: root.change_image_on8()
                                    on_release: root.change_image_off8()
                                    Image:
                                        id: my_image8
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound10()
                                    on_press: root.change_image_on10()
                                    on_release: root.change_image_off10()
                                    Image:
                                        id: my_image10
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound11()
                                    on_press: root.change_image_on11()
                                    on_release: root.change_image_off11()
                                    Image:
                                        id: my_image11
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound12()
                                    on_press: root.change_image_on12()
                                    on_release: root.change_image_off12()
                                    Image:
                                        id: my_image12
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                                ItemButton:
                                    on_press: root.sound6()
                                    on_press: root.change_image_on6()
                                    on_release: root.change_image_off6()
                                    Image:
                                        id: my_image20
                                        source: "image.png"
                                        pos: self.parent.pos
                                        size: self.parent.size
                                        allow_stretch: True
                            MDBoxLayout:
                                orientation: "vertical"
                                md_bg_color: (242/255.0,242/255.0,242/255.0,255/255.0)
                                radius: [0,30,30,0]
                                padding: "10dp","10dp","10dp","10dp"
                                spacing: "15dp"
                                ItemLabel:
                                    text: "Я дудосер"
                                    #color: (255/255.0,255/255.0,255/255.0,255/255.0)
                                MDSeparator:
                                ItemLabel:
                                    text: "Ду ду ду ду ду"
                                    #color: (255/255.0,255/255.0,255/255.0,255/255.0)
                                MDSeparator:
                                ItemLabel:
                                    text: "АРИ-ВААааа"
                                    #color: (255/255.0,255/255.0,255/255.0,255/255.0)
                                MDSeparator:
                                ItemLabel:
                                    text: "Не куколд"
                                    #color: (255/255.0,255/255.0,255/255.0,255/255.0)
                                MDSeparator:
                                ItemLabel:
                                    text: "Солевая"
                                    #color: (255/255.0,255/255.0,255/255.0,255/255.0)
                                MDSeparator:
                                ItemLabel:
                                    text: "5"
                                    #color: (255/255.0,255/255.0,255/255.0,255/255.0)```

Ответы (0 шт):