Size: a a a

Сообщество Python Программистов

2020 November 25

АА

Александр Алексюк... in Сообщество Python Программистов
гайс, почему когда я создаю класс в models.py на жанге, я не пишу super.__init__, как меня учили в книжке в теме наследование классов?
источник

VA

Vadim Apenko in Сообщество Python Программистов
Paper_doll_96
Ну ок, слово не то. Просто зачем такие книги нужны?
Чтоб их... эм... читать?
источник

in Сообщество Python Программистов
Александр Алексюк
гайс, почему когда я создаю класс в models.py на жанге, я не пишу super.__init__, как меня учили в книжке в теме наследование классов?
Потому что ты не переопределяешь метод __init__ и он выполнится у класса родителя
источник

P

Paper_doll_96 in Сообщество Python Программистов
Vadim Apenko
Чтоб их... эм... читать?
https://docs.python.org/3/library/
Действительно
источник

in Сообщество Python Программистов
Потому что ты не переопределяешь метод __init__ и он выполнится у класса родителя
Language:
py3


Source:
class Parent:
   def __init__(self):
       print('hello from Parent class!')

class Child(Parent):
   name = ...

c = Child()


Result:
hello from Parent class!
источник

VA

Vadim Apenko in Сообщество Python Программистов
Ну вот почему надо объяснять такие очевидные вещи?

1. Книга на русском. Для кого-то это важный момент.
2. Стандартная библиотека огромна. Даже я ее не всю пробовал/видел. В книге же рассмотрено то, что с бОльшей вероятностью будет полезно, а не все подряд.
источник

E

Egor in Сообщество Python Программистов
Александр Алексюк
гайс, почему когда я создаю класс в models.py на жанге, я не пишу super.__init__, как меня учили в книжке в теме наследование классов?
когда пишешь с супером, выполняется инит супера, но вместе с этим ты можешь еще что-то дописать в инит наследника. если тебе нужен такой же, то просто не пишешь инит
источник

АА

Александр Алексюк... in Сообщество Python Программистов
Потому что ты не переопределяешь метод __init__ и он выполнится у класса родителя
А так было всегда? Или я не так понял книжку?
источник

P

Paper_doll_96 in Сообщество Python Программистов
Vadim Apenko
Ну вот почему надо объяснять такие очевидные вещи?

1. Книга на русском. Для кого-то это важный момент.
2. Стандартная библиотека огромна. Даже я ее не всю пробовал/видел. В книге же рассмотрено то, что с бОльшей вероятностью будет полезно, а не все подряд.
Ну ок, просто чуть более структурированный материал. А без английского вообще в программировании делать нечего
источник

E

Egor in Сообщество Python Программистов
Paper_doll_96
Ну ок, просто чуть более структурированный материал. А без английского вообще в программировании делать нечего
согласен, без английского никуда
источник

in Сообщество Python Программистов
Александр Алексюк
А так было всегда? Или я не так понял книжку?
Если ты переопределяешь метод __init__, то в нём, если тебе необходимо, можно вызвать конструктор класса-родителя (сам он не вызовется, ты же переопределяешь его)
источник

in Сообщество Python Программистов
Александр Алексюк
А так было всегда? Или я не так понял книжку?
источник

АА

Александр Алексюк... in Сообщество Python Программистов
То есть super() нахуй не надо?
источник

in Сообщество Python Программистов
Александр Алексюк
То есть super() нахуй не надо?
Зависит от твоей цели
источник

in Сообщество Python Программистов
Если ты про джангу, то лучше не переопределяй конструктор в классе модели
источник

IK

Ivan Karniyenka in Сообщество Python Программистов
господа питонтьяго, вопрос такой
есть у меня две строки. я хочу проверить что обе они или не пустые, или не нулевые. есть ли какие интересные решения? спасибо
___подойдет даже направление)
источник

𝕬

𝕬𝖗𝖙𝖊𝖒 in Сообщество Python Программистов
Ivan Karniyenka
господа питонтьяго, вопрос такой
есть у меня две строки. я хочу проверить что обе они или не пустые, или не нулевые. есть ли какие интересные решения? спасибо
___подойдет даже направление)
"не полные" это как?
источник

A

Alexander in Сообщество Python Программистов
типа обе пустые OR обе полные
источник

in Сообщество Python Программистов
Если ты про джангу, то лучше не переопределяй конструктор в классе модели
Если очень хочется, то так:
class MyModel(Model):
 def __init__(self, *args, *kwargs):
   # your stuff here
   super(MyModel, self).__init__(*args, **kwargs)
источник

IK

Ivan Karniyenka in Сообщество Python Программистов
𝕬𝖗𝖙𝖊𝖒
"не полные" это как?
не нулевые
источник