专栏首页Python攻城狮python高级编程1.==,is的使用 2.深拷贝、浅拷贝 3.属性property

python高级编程1.==,is的使用 2.深拷贝、浅拷贝 3.属性property

1.==,is的使用

总结

·is是比较两个引用是否指向了同一个对象(引用比较)。

·==是比较两个对象是否相等。

2.深拷贝、浅拷贝

1.浅拷贝

浅拷贝是对于一个对象的顶层拷贝

通俗的理解是:拷贝了引用,并没有拷贝内容

2.深拷贝

深拷贝是对于一个对象所有层次的拷贝(递归)

进一步理解拷贝

3.拷贝的其他方式

浅拷贝对不可变类型和可变类型的copy不同

·分片表达式可以赋值一个序列

·字典的copy方法可以拷贝一个字典

·有些内置函数可以生成拷贝(list)

·copy模块中的copy函数

3.属性property

1.私有属性添加getter和setter方法

2.使用property升级getter和setter方法

运行结果:

运行结果:

3.使用property取代getter和setter方法

@property成为属性函数,可以对属性赋值时做必要的检查,并保证代码的清晰短小,主要有2个作用

·将方法转换为只读

·重新实现一个属性的设置和读取方法,可做边界判定

运行结果:

运行结果:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 文件的打开与关闭-IO1.文件的目的2.文件的打开与关闭 3.文件的读写 4.应用

    就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力

    意气相许的许
  • Git的使用1.Git简介2.安装3.远程仓库4.本地仓库

    博客地址:https://ask.hellobi.com/blog/zhiji 欢迎大家来交流学习。

    意气相许的许
  • GitHub 系列之「Git速成」1.什么是Git?2.Git 安装3.Git 命令列表4.Git 具体命令

    Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也...

    意气相许的许
  • JavaScript 中对象的深拷贝

    在JavaScript中,对对象进行拷贝的场景比较常见。但是简单的复制语句只能对对象进行浅拷贝,即复制的是一份引用,而不是它所引用的对象。而更多的时候,我们希望...

    哲洛不闹
  • 裁图、抠图、换背景,PPT也可以

    今天跟大家聊一聊PPT的基本图片处理功能! ▽ 每次做PPT的时候 总想弄几个感觉还不错的图片 插入PPT里来装装bigger 可是能找到的图片 不是背景不搭 ...

    数据小磨坊
  • MyBatis框架之第一篇

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    海仔
  • neo4j︱Cypher 查询语言简单案例(二)

    版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! ...

    素质
  • QQ冒充好友的都是什么鬼?

    仿冒好友:指犯罪分子通过仿冒好友QQ信息,设置骗局,以诈骗为目的,对受害人实施远程、非接触式诈骗,诱使受害人给犯罪分子打款或转账的犯罪行为。

    用户6966869
  • 深入Prometheus设计-指标定义与分类(学习笔记)

    <metric name>{<label name>=<label value>, ...},

    泽阳
  • 软考分类精讲-企业信息化战略与实施

    cwl_java

扫码关注云+社区

领取腾讯云代金券