реализация паттерна прототип находится во встроенной библиотеке copy в функции deepcopy выходит? или для класса нужно будет всё же магические методы, но в данном примере в этом нет необходимости?
Очень интересное и подробное описание поведения. Респект. Но я все больше понимаю, что для питона очень важно знание не только, так сказать, базового синтаксиса, а еще огромное количество функций, шаблонов(или шаблонизаторов?), библиотек и прочих наворотов и конструкций. А это все не так просто, как заявляют "питонисты", рекламируя этот язык, как очень простой.
Я не понял некоторых вещей: Почему глубокая копия круче чем инстанирование (наверное в том что это позволяет не проверять на корректность аргументы, когда уже есть объект с похожими параметрами) Почему глубокая копия имеет такое пафосное название "шаблон проектирования прототип" Я ещё понимаю наблюдатель, там действительно есть какая-то логика в том чтобы называть это "шаблон проектирования", а тут в чём прикол?
Шаблон проектирования не подразумевает сам по себе какой-то зубодробительности. Вам кажется, что наблюдатель достоин называться шаблоном, лишь потому что в питоне нет встроенных ивентов как в сишарпе) то есть сишарпер с таким же посылом может заявить в чем прикол наблюдателя называть шаблоном, если это всего лишь механизм ивентов?
Диктора на центральное питоновское телевидение,пожалуйста!
+
Отличный материал, но отдельно, озвучка на сверх уровне!
Спасибо, было интересно!
информативненько, спасибо.
Ок, а паттерн в чем? использование deepcopy?
Я ожидал в конце добавления классметода copy_with в класс Person
а где паттерн -то ? просто объяснение работы deepcopy ...
я не очень силен в программировании, но думаю с адресами так происходит, потому что Джон и Джейн не могут жить друг без друга💔
реализация паттерна прототип находится во встроенной библиотеке copy в функции deepcopy выходит?
или для класса нужно будет всё же магические методы, но в данном примере в этом нет необходимости?
Спасибо)
а можно copy.deepcopy как то вшить в сам класс?
Спасибо! Посоветуйте пожалуйста по паттернам питона книгу... "Паттерны разработки на Python" Гарри Персивалля, на русском норм? Или что-то другое...
Design Patterns банда четырех для начала. Паттерны не привязаны к конкретному языку, хотя реализации порой отличаются
А что если у обьекта который копируем приватные атрибуты ? тогда не получится так сделать
В питоне нет приватных аттрибутов
Очень интересное и подробное описание поведения. Респект.
Но я все больше понимаю, что для питона очень важно знание не только, так сказать, базового синтаксиса, а еще огромное количество функций, шаблонов(или шаблонизаторов?), библиотек и прочих наворотов и конструкций. А это все не так просто, как заявляют "питонисты", рекламируя этот язык, как очень простой.
Ну это так везде. При прочих равных, питон действительно гораздо проще всех остальных ходовых яп.
@@EngineerSpock И на кой ляд принудительные отступы придуманы? По моему, это излишество, которое тоже не очень удобное.
@@obehobeh9984 а как без отступов? Скобки ставить? Есть множество языков с отступами. Или вы о чём-то другом?
@@EngineerSpock Принудительные отступы в коде я встречал только в питоне. Это, можно сказать, уже синтаксис питона. Зачем?
@@obehobeh9984 вы чего вместо них хотите? Без отступов?)
Я не понял некоторых вещей:
Почему глубокая копия круче чем инстанирование (наверное в том что это позволяет не проверять на корректность аргументы, когда уже есть объект с похожими параметрами)
Почему глубокая копия имеет такое пафосное название "шаблон проектирования прототип"
Я ещё понимаю наблюдатель, там действительно есть какая-то логика в том чтобы называть это "шаблон проектирования", а тут в чём прикол?
Шаблон проектирования не подразумевает сам по себе какой-то зубодробительности. Вам кажется, что наблюдатель достоин называться шаблоном, лишь потому что в питоне нет встроенных ивентов как в сишарпе) то есть сишарпер с таким же посылом может заявить в чем прикол наблюдателя называть шаблоном, если это всего лишь механизм ивентов?
Все проблемы из-за баб
весьма спорно