IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    python高级编程

    shendao发表于 2017-06-05 11:14:04
    love 0

    1.==,is的使用

    python高级编程
    python高级编程

    总结

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

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

    2.深拷贝、浅拷贝

    1.浅拷贝

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

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

    python高级编程
    python高级编程

    2.深拷贝

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

    python高级编程
    进一步理解拷贝
    python高级编程
    python高级编程
    python高级编程
    python高级编程
    python高级编程
    python高级编程

    3.拷贝的其他方式

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

    python高级编程
    python高级编程

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

    python高级编程

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

    python高级编程

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

    python高级编程

    ·copy模块中的copy函数

    python高级编程

    3.属性property

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

    python高级编程
    python高级编程

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

    python高级编程
    运行结果:
    python高级编程
    python高级编程
    运行结果:
    python高级编程

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

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

    ·将方法转换为只读

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

    python高级编程
    运行结果:
    python高级编程
    python高级编程
    python高级编程
    运行结果:
    python高级编程


沪ICP备19023445号-2号
友情链接