天津网站建设索王道下拉,网站建设技术可行性分析,翠竹营销网站设计,广州网络服装网站建设诸神缄默不语-个人CSDN博文目录
复杂的以后再补。
总的来说#xff0c;像常数、字符串这种比较简单的变量无所谓#xff0c;但是对于一些复杂对象#xff08;比如list等#xff09;#xff0c;如果直接使ba#xff0c;相当于直接把a的路径给了b#xff0c;b这个对象的…诸神缄默不语-个人CSDN博文目录
复杂的以后再补。
总的来说像常数、字符串这种比较简单的变量无所谓但是对于一些复杂对象比如list等如果直接使ba相当于直接把a的路径给了bb这个对象的指针就直接指向a的地址这种计算机常识我不用讲吧如果修改a也会自动修改b。这就是直接引用举例 浅拷贝 (shallow copy) 就是新建一个同样的对象但是子对象仍然是直接指向原对象的地址所以直接改变对象时新对象不会跟着改变
但如果改变子对象新对象就会跟着改变 另一种浅拷贝的写法注意类的copy和deepcopy()都是可以自己定义的一般来说官方类都是浅拷贝-深拷贝的逻辑但是自己实现的方法也避免不了有怪人不照常理来 所以在训练深度学习模型时如果想要保存best_model权重就要用深拷贝要不然子对象value就会跟着训练过程一起改变 深拷贝 (deep copy) 就是将对象和子对象都生成一份新的所以原对象怎么改都不影响新对象 本文在撰写过程中参考了以下网络资料
python3 的直接赋值、深拷贝和浅拷贝详解_薛定谔的猫96的博客-CSDN博客