Python вызывает частный родительский методPython

Программы на Python
Ответить
Anonymous
 Python вызывает частный родительский метод

Сообщение Anonymous »

У меня есть писатель родительского класса, который я определяю следующим образом:

Код: Выделить всё

class writer:
def __init__(self, file) -> None:
self.file = file

def write_content(self, content):
self.file.write(content)
self.__write_custom_footer()

def __write_custom_footer():
"""
Need to keep it private
"""
# Do something
И я использую этот класс в качестве родительского класса:

Код: Выделить всё

class greetings_writer(writer):
def __init__(self, file) -> None:
super().__init__(file)

def write_greetings(self):
self.file.write("Hello")
self.__write_custom_footer()
Моя проблема добавляется, когда я пытаюсь вызвать self.__write_custom_footer().
Я получаю ошибку AttributeError, объект Greetings_writer не имеет атрибут '_greetings_writer__write_custom_footer'
Для меня это связано с тем, что __write_custom_footer является частным в родительском классе, но как я могу сделать его пригодным для использования для всех дочерних компонентов, но не для чего-либо еще?
Я также попробовал использовать super().__write_custom_footer() и получил аналогичную ошибку

Подробнее здесь: https://stackoverflow.com/questions/791 ... ent-method
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»