1.==,is的使用
![](http://m.sbmmt.com/img/upload/article/000/000/001/d9951df106c85865e7d6b8689094eb9c-0.png)
php入门到就业线上直播课:进入学习
![](http://m.sbmmt.com/img/upload/article/000/000/001/d9951df106c85865e7d6b8689094eb9c-1.png)
总结
·is是比较两个引用是否指向了同一个对象(引用比较)。
·==是比较两个对象是否相等。
2.深拷贝、浅拷贝
1.浅拷贝
浅拷贝是对于一个对象的顶层拷贝
通俗的理解是:拷贝了引用,并没有拷贝内容
![](http://m.sbmmt.com/img/upload/article/000/000/001/1359829895f6ae8ceaa0f6eeedbccde3-2.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/1359829895f6ae8ceaa0f6eeedbccde3-3.png)
2.深拷贝
深拷贝是对于一个对象所有层次的拷贝(递归)
![](http://m.sbmmt.com/img/upload/article/000/000/001/3d27b25585addfc799deb7bf1205ed56-4.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/3d27b25585addfc799deb7bf1205ed56-5.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/ebe3166e3c35f1b9245346410f76ad2c-6.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/ebe3166e3c35f1b9245346410f76ad2c-7.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/ebe3166e3c35f1b9245346410f76ad2c-8.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/c058939498d5a0a847c8c6d50ac093c7-9.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/c058939498d5a0a847c8c6d50ac093c7-10.png)
3.拷贝的其他方式
浅拷贝对不可变类型和可变类型的copy不同
![](http://m.sbmmt.com/img/upload/article/000/000/001/cf8bdb5e80e2d12759a68252e0c24231-11.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/cf8bdb5e80e2d12759a68252e0c24231-12.png)
·分片表达式可以赋值一个序列
![](http://m.sbmmt.com/img/upload/article/000/000/001/cf8bdb5e80e2d12759a68252e0c24231-13.png)
·字典的copy方法可以拷贝一个字典
![](http://m.sbmmt.com/img/upload/article/000/000/001/d93815dc53bbb429714cb3ba38aec734-14.png)
·有些内置函数可以生成拷贝(list)
![](http://m.sbmmt.com/img/upload/article/000/000/001/d93815dc53bbb429714cb3ba38aec734-15.png)
·copy模块中的copy函数
![](http://m.sbmmt.com/img/upload/article/000/000/001/d93815dc53bbb429714cb3ba38aec734-16.png)
3.属性property
1.私有属性添加getter和setter方法
![](http://m.sbmmt.com/img/upload/article/000/000/001/18a082efe91778f11fce6e9731e61009-17.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/18a082efe91778f11fce6e9731e61009-18.png)
2.使用property升级getter和setter方法
![](http://m.sbmmt.com/img/upload/article/000/000/001/824560eda24a65a753bb115dbada4daa-19.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/824560eda24a65a753bb115dbada4daa-20.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/824560eda24a65a753bb115dbada4daa-21.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/8553b0a36169f43830911e9692144580-22.png)
3.使用property取代getter和setter方法
@property成为属性函数,可以对属性赋值时做必要的检查,并保证代码的清晰短小,主要有2个作用
·将方法转换为只读
·重新实现一个属性的设置和读取方法,可做边界判定
![](http://m.sbmmt.com/img/upload/article/000/000/001/8553b0a36169f43830911e9692144580-23.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/8553b0a36169f43830911e9692144580-24.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/b43351e1ab0502ea55eac776cc9cb691-25.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/b43351e1ab0502ea55eac776cc9cb691-26.png)
![](http://m.sbmmt.com/img/upload/article/000/000/001/e1efb6f06bce9eaa47b563bbb1a336fb-27.png)
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群
626062078,我们一起学Python!
以上就是python高级编程的详细内容,更多请关注php中文网其它相关文章!
前端(VUE)零基础到就业课程:点击学习
自己动手写 PHP MVC 框架:点击学习
![](http://m.sbmmt.com/img/upload/article/000/000/020/633501a29d313483.png)