Как получить данные классу наследнику из класса предка - Python

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Orakul, 21 Apr 2018.

  1. Orakul

    Orakul New Member

    Joined:
    24 Jun 2013
    Messages:
    14
    Likes Received:
    0
    Reputations:
    0
    Здраво ребята!!! Подскажите пожалуйста как мне из класса потомка получить данные из класса предка?
    Как получить данные из переменной var_example класса предка kir() ?
    Code:
    class kir():
            def __init__(self):
                print("start")
                self.var_example = 1000
                
     
    class kir2(kir):
        def __init__(self):
            kir.__init__(self)
            def func_example(self):
                var_example2 = self.var_example + 1000
                return var_example2
            print(func_example())
     
    if __name__ == '__main__':
        A = kir2()
     
  2. grigerik

    grigerik New Member

    Joined:
    15 Nov 2015
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    А что не так с доступом? Вынеси func_example из функции __init__ и будет работать. Доступ к self.var_example родительского класса у тебя есть из kir2. У меня выводит 2000.
    Code:
    # -*- coding: utf-8 -*-
    
    
    class kir(object):
        def __init__(self):
            print("start")
            self.var_example = 1000
    
    
    class kir2(kir):
        def __init__(self):
            kir.__init__(self)
    
        # вынеси func_example из __init__
        def func_example(self):
            var_example2 = self.var_example + 1000
            return var_example2
    
    
    if __name__ == '__main__':
        A = kir2()
        print A.func_example()
    
     
  3. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    499
    Reputations:
    154
    Старый добрый __base__
     
    _________________________