Не могу понять в чем логика использования такого подхода в данном примере. Может это я чего не понимаю, но мне как по мне проще будет просто вернуть copy_obj. Для чего создавать отдельную функцию для возврата copy_obj?
А чем тебя такой вариант не устроил, не надо импортировать copy, не надо создавать доп. функцию?: a = [1, 2, 3] print(a) dump = a.copy() или a[:] a.append(1) print(a) a = dump.copy() print(a) Пример как и видос то норм, но вот по моему так это эффективнее сделать, поправь если не прав)
да, ты прав, глубокая копия имеет рекурсивный оверхед Но поверхностная копия не защищает от изменения внутренних изменяемых объектов, что часто дает о себе знать. конечно все по ситуации надо смотреть, если у тебя список чисел то глубокая копия не нужна спасибо за комментарий!
Я если честно не понял зачем это замыкание нужно, что с рекурсий что с замыканием проблемы ну непонятно и все. Может кто снимет видео с примерам на шлюхах, на чем то бытовом.
жаль, что комментатор выше смотрит видосы на одну и ту же узкую тематику. Автор харош, я узнал для себя новую тему. Увидел тебя, к слову, в реках. Харош)
@@jitelsibiri7832 ах ты сталкерок, следишь за мной, да? Между прочим уголовка за такое тебе светит... Я скорее о том, что не в первый раз в рекомендациях вижу эту тему, и даже не во второй. Не буду сильно бычить - видимо из-за того что я джсер, у нас много кто об этом записал видосы в коммтюнити. У питонистов хз, хотя одно и тоже что там что там по сути
Классное видео. Сделаешь еще про ООП на пайтоне?
возможно, спасибо
Не могу понять в чем логика использования такого подхода в данном примере. Может это я чего не понимаю, но мне как по мне проще будет просто вернуть copy_obj. Для чего создавать отдельную функцию для возврата copy_obj?
ну мы же передаем в функцию изначальный объект, а потом вызовом внутренней возвращем его состояние
спасибо за комментарий!
@@developnyaтут нет состояния, deepcopy создает новый объект, ты не возвращаешь а в первоначальный объект.
```
from copy import deepcopy
def backup(mutable_obj):
copy_obj = deepcopy(mutable_obj)
print("mutable_obj id: ", id(mutable_obj))
print("copy_obj id: ", id(copy_obj))
def inner():
return copy_obj
return inner
a = [1, 2, 3]
dump = backup(a)
a.append(1)
print("a id: ", id(a))
a = dump
print("dump id: ", id(dump))
print("a id: ", id(a))
mutable_obj id: 4532185792
copy_obj id: 4532197568
a id: 4532185792
dump id: 4532166208
a id: 4532166208
```
А чем тебя такой вариант не устроил, не надо импортировать copy, не надо создавать доп. функцию?:
a = [1, 2, 3]
print(a)
dump = a.copy() или a[:]
a.append(1)
print(a)
a = dump.copy()
print(a)
Пример как и видос то норм, но вот по моему так это эффективнее сделать, поправь если не прав)
да, ты прав, глубокая копия имеет рекурсивный оверхед
Но поверхностная копия не защищает от изменения внутренних изменяемых объектов, что часто дает о себе знать. конечно все по ситуации надо смотреть, если у тебя список чисел то глубокая копия не нужна
спасибо за комментарий!
Я если честно не понял зачем это замыкание нужно, что с рекурсий что с замыканием проблемы ну непонятно и все. Может кто снимет видео с примерам на шлюхах, на чем то бытовом.
👍
ну какое замыкание емае... нет бы чего оригинального снимать, дохуилион видосов уже про замыкание, зачем зрителю именно ты нужен такой
не видел много видосов про замыкание именно в контексте питона
первый раз услышал про него вообще из джс мок собеса
но учту, спасиба
@@developnyaне учитывай, видос неплохой полезный, спасибо
сенкс
жаль, что комментатор выше смотрит видосы на одну и ту же узкую тематику. Автор харош, я узнал для себя новую тему. Увидел тебя, к слову, в реках. Харош)
@@jitelsibiri7832 ах ты сталкерок, следишь за мной, да? Между прочим уголовка за такое тебе светит... Я скорее о том, что не в первый раз в рекомендациях вижу эту тему, и даже не во второй. Не буду сильно бычить - видимо из-за того что я джсер, у нас много кто об этом записал видосы в коммтюнити. У питонистов хз, хотя одно и тоже что там что там по сути