Найти - Пользователи
Полная версия: ООП Вызывать __init__ родителя или нет?
Начало » Python для новичков » ООП Вызывать __init__ родителя или нет?
1
Brony
Здравствуйте.

Подскажите пожалуйста, как правильно:

class Parent:
'''Description'''
constant = value


class Child(Parent):
'''Description'''
def __init__(self, data):
self.data = data

def make(self):
self.data += self.constant


class AnotherChild(Parent):
'''Description'''
def __init__(self, data):
self.data = data

def make(self):
self.data = str(self.data) + self.constant
class Parent:
'''Description'''
constant = value

def __init__(self, data):
self.data = data


class Child(Parent):
'''Description'''
def __init__(self, data):
Parent.__init__(self, data)

def make(self):
self.data += self.constant


class AnotherChild(Parent):
'''Description'''
def __init__(self, data):
Parent.__init__(self, data)

def make(self):
self.data = str(self.data) + self.constant
Если я верно понимаю, правилен второй вариант? Не смотря на увеличившийся объем кода.
Isem
Второй вариант правильный, но начиная с питона 3, можно писать так:
super().__init__(self,data)
Андрей Светлов
super().__init__(data)

self указывать не нужно
Isem
Андрей Светлов
self указывать не нужно
Да, верно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB