Наследование класса Python не использует ARGS из SuperPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Наследование класса Python не использует ARGS из Super

Сообщение Anonymous »

Итак, я сейчас пытаюсь написать сценарий, используя несколько классов и наследуя между ними. Проблема заключается в том, что при наследстве от моего базового (родительского) класса в базовых точках (ребенка) мне, кажется, придется написать значения по умолчанию, которые я снова указал в базе в конструкторе ребенка, почему я просто не могу использовать Super, чтобы взять значения ARG в базе и установить их в ARG в базовых расчетах. Еще большая проблема заключается в том, что при запуске кода с этими значениями по умолчанию в классе ребенка значения, которые должны передаваться из родительского класса, получают переопределение. https://github.com/pinterbauer/numerisc ... ektion.git

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

class Base():
def __init__(self, arg1: int = 0, arg2: str = "", arg3: bool = False):
self.arg1 = arg1
self.arg2 = arg2
self.arg3 = arg3

def set_arg3(self):
self.arg3 = True

class BaseCalculations(Base):
def __init__(self, arg1: int = 0, arg2: str = "", arg3: bool = False): # why do i need the defaults again
super().__init__(arg1, arg2, arg3) # this super more or less does nothing it should override
# the default values in the constructor with values from Base
# using super
base = Base()
base.set_arg3()
calc = BaseCalculations()
print(calc.arg3) # prints False but should print True
Я также очень признателю любые отзывы об общей реализации классов в коде на GitHub, если у кого -то есть свободное время, чтобы просмотреть его.

Подробнее здесь: https://stackoverflow.com/questions/795 ... from-super
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Метод SUPER() в Python 3.11 — «Ошибка выполнения: super(): нет аргументов»
    Anonymous » » в форуме Python
    0 Ответы
    95 Просмотры
    Последнее сообщение Anonymous
  • Наследование класса не используется должным образом ARG от Super
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Технические различия и преимущества: def (*args) и def (args=None) в Python [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Указание связи между *args из *Ts и *args типа[T] над Ts?
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Указание связи между *args из *Ts и *args типа[T] над Ts?
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

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