привет. а запиши видео, как ты пришел в программирование, что интересного приходилось делать, и как ты с Java перешел на Python, и зачем. У тебя хороший технический бэкграунд, и на фоне других авторов, очень качественные примеры написания и применения кода. Я уверен, что всем будет интересно послушать. А с одной задачей я разобрался, метод (__add__) добавил, а вторую с хэшем, еще не решил. Спасибо за видео. Прям все самое лучшее, The Best.
при использовании __slots__ атрибут объект все еще может получить, если присвоить аттрибут классу: class First: __slots__ = () def __init__(self, value): self.value = value if __name__ == '__main__': first = first(42) Dealer.att = 23 print(dealer.att) выводит 23. Я понимаю, что через объект мы обращаемся к атрибуту класса, и объект атрибут не приобретает, но хотелось бы понять тогда как ограничить создание атрибутов класса
быстродействие кардинально не изменится, таплы конечно оптимизированы, но не думаю что прирост будет существенным по скорости. Целиться стоит в экономию памяти, вот она может быть кардинальной.
Здравствуйте, есть ли какие-то кейсы где надо использовать сеттеры с геттерами, а где через проперти фигачить? Просто например есть класс юзер который на открытии приложения инициализируется, потом его имя, фам... и т.д. где-то используются, а потом еще и добавлять auth_token, как неизменяемую переменную. Вот вопрос заключается в том: что правильней пользовать сеттер и там прописывать миллион if что бы отсеять всевозможные неправильные value, или через проперти для каждого поля расписать?
золотого правила нет, вопрос в читаемости, насколько вам и другому программисту будет понятно что тут написано. Проперти вполне подходят из-за простоты использования, а кто из других языков приходит -любят сеттеры
как всегда - супер 👍 спасибо по поводу мелко - всегда думал, а чего постоянно просят сделать крупнее, нормально же видно) пока не начал смотреть буржуйские ролики, что называется почувствуйте разницу ua-cam.com/video/DMP-GcElEIo/v-deo.html
Автор просто гений объяснения материала, спасибо
Прекрасный урок! Благодарю 👍🤝
Вместо записи в __dict__, можно вызвать
super().__setattr__(key, value)
Спасибо за подробность и доступность подачи материала. Палец вверх и колокольчик.
Большое спасибо за видос. Очень доступно
Ну тогда и я поругаюсь, зачем 60fps? Можете изменить палитру подсветки синтаксиса? Фиолетовомалиновый на этом фоне плохо читается. Спасибо.
привет. а запиши видео, как ты пришел в программирование, что интересного приходилось делать, и как ты с Java перешел на Python, и зачем. У тебя хороший технический бэкграунд, и на фоне других авторов, очень качественные примеры написания и применения кода. Я уверен, что всем будет интересно послушать. А с одной задачей я разобрался, метод (__add__) добавил, а вторую с хэшем, еще не решил. Спасибо за видео. Прям все самое лучшее, The Best.
добавил в список на будущее
Спасибо за видео!
Пасибки, звук стал очень хорошим
при использовании __slots__ атрибут объект все еще может получить, если присвоить аттрибут классу:
class First:
__slots__ = ()
def __init__(self, value):
self.value = value
if __name__ == '__main__':
first = first(42)
Dealer.att = 23
print(dealer.att)
выводит 23.
Я понимаю, что через объект мы обращаемся к атрибуту класса, и объект атрибут не приобретает, но хотелось бы понять тогда как ограничить создание атрибутов класса
кайф
Крутяк
Спасибо за классное объяснение. Многое про @property стало понятнее.
А как меняется быстродействие при использовании __slots__?
быстродействие кардинально не изменится, таплы конечно оптимизированы, но не думаю что прирост будет существенным по скорости. Целиться стоит в экономию памяти, вот она может быть кардинальной.
Большое спасибо! Подскажите, пожалуйста, как после создания __slots__ хранятся значения атрибутов, если больше нет __dict__??
Здравствуйте, есть ли какие-то кейсы где надо использовать сеттеры с геттерами, а где через проперти фигачить? Просто например есть класс юзер который на открытии приложения инициализируется, потом его имя, фам... и т.д. где-то используются, а потом еще и добавлять auth_token, как неизменяемую переменную. Вот вопрос заключается в том: что правильней пользовать сеттер и там прописывать миллион if что бы отсеять всевозможные неправильные value, или через проперти для каждого поля расписать?
золотого правила нет, вопрос в читаемости, насколько вам и другому программисту будет понятно что тут написано. Проперти вполне подходят из-за простоты использования, а кто из других языков приходит -любят сеттеры
@@PythonRussianизвините, не досмотрел до конца видео, все понял, спасибо!
А можно сделать
Cat.__slots__ += (“say_meaow”,) ?
как всегда - супер 👍 спасибо
по поводу мелко - всегда думал, а чего постоянно просят сделать крупнее, нормально же видно) пока не начал смотреть буржуйские ролики, что называется почувствуйте разницу ua-cam.com/video/DMP-GcElEIo/v-deo.html
Иногда просто удобно посмотреть на телефоне, а диагональ не лопата.
Не getattr, а getattribute. Это разные методы
Мне всегда интересно,от кого эта защита блять?если в своем коде лазию исключительно я,может в группе разрабов
если код только для тебя, то конечно пиши как угодно =) если есть шанс что увидит еще кто-то, то стоит подумать о читаемости и организации