面向对象进阶

# 面向对象进阶

  1. 对象属性的增删改查

    1. 查 - 获取属性值

      """
      1) 对象.属性  -  获取对象指定属性值,如果属性不存在或报错
      2) getattr(对象, 属性名)  -   获取对象指定属性值,如果属性不存在或报错
      3) getattr(对象, 属性名, 默认值)  -   获取对象指定属性值 默认值不报错
      """
      
    2. 增、改

      """
      1) 对象.属性 = 值    -   当属性存在的时候修改属性的值,当属性不存在的时候添加属性
      2) setattr(对象, 属性名, 值)  -  当属性存在的时候修改属性的值,当属性不存在的时候添加属性 
      """
      
    3. """
      1) del 对象.属性  -  删除指定对象的指定属性
      2) delattr(对象, 属性名)  -  删除指定对象的指定属性
      """
      
  2. 内置属性

    """
    __doc__       获取类的说明文档
    __module__    获取类所在模块
    __class__     获取对象的类型,功能和type()
    __dict__      获取类所有的类属性和对应的值,以字典的形式返回(类属性)
    __dict__      获取对象所有的对象属性和对应的值,以字典的形式返回(对象属性)
    __name__      获取类的名字
    """
    
  3. 继承

    # 1.继承
    """
    继承就是让子类直接拥有父类的属性和方法。
    子类 -  继承者
    父类 -  被继承者,又叫超类
    """
    # 2.继承的语法
    """
    class 类名(父类1, 父类2,..)
        说明文档
        类的内容
        
    注意:如果没有定义类的时候没有写继承关系,那么这个类默认继承基类object
    class 类名: == class 类名(object)    
    """
    
    
    # 调用当前类的父类的__init__方法
            super().__init__()
    """
    super(类, 对象).方法   -  调用指定类的父类的指定方法 
    注意;()对象必须是前面()类的对象
    """
    
  4. 拷贝

    """
    1)直接赋值
    直接将变量中的地址赋值给另一个变量,赋值后两个变量指向同一块内存区域,并相互影响
    
    2) 浅拷贝
    列表切片、列表.copy()、字典.copy()等都是浅拷贝
    复制原数据产生一个新的数据,将新的数据的地址返回,如果原数据中有子对象(有可变数据),不会复制子对象
    
    3)深拷贝
    deepcopy
    复制原数据产生一个新的数据,将新的数据的地址返回,如果原数据中有子对象(有可变数据),子对象也会复制
    """
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n0fLks3K-1628077318016)(file:///E:\QQ\1194953724\Image\Group2\R_\SG\R_SGK@8X}DY@}3A@}40TG3A.png)]

子对象不可变

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YpxDzxxU-1628077318020)(file:///E:\QQ\1194953724\Image\Group2\7N}%\7N}%YC7NQC9E7IIH2PFF0~E.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hk16gyEU-1628077318023)(file:///E:\QQ\1194953724\Image\Group2\M[`@\M[@J{TFEBAND7TFFJW}_W.png)]

# 2.内存管理
"""
1)内存的申请
定义变量保存数据的时候系统会自动申请,如果定义变量保存的是可变数据,每次都会申请新的内存,如果是不可变的数据,会先检查
是否已经保存过,如果已经储存就不会在重新申请内存

2)释放
如果一个数据的引用计数(引用的个数)为1,那么这个数据就会被自动释放
引用:保存数据地址的对象就是这个数据的引用
"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值