2018-07-31python学习面向对象(二)增删改

class Dog:
    def __init__(self,age = 0,color = 'white'):
        self.age = age
        self.color = color


if __name__ == '__main__':
    dog1 = Dog(3,'yellow')
    #获取属性方法1
    print(dog1.age,dog1.color)
    #方法2 对象.__getattribute__('属性名') 
    #方法3   getattr(对象,'属性名',默认值)加了默认值不会报错,且返回默认值,但并非添加)
    print(dog1.__getattribute__('age'))
    print(getattr(dog1,'age'))
    print(getattr(dog1,'abc','sdw'))
    # print(dog1.abc)  #error
    #修改方法1
    dog1.age = 4
    print(dog1.age)
    #方法2   对象.__setattr__('属性名','值')
    dog1.__setattr__('color','black')
    print(dog1.color)
    #方法3   setattr(对象,'属性名','值')
    setattr(dog1,'color','blue')
    print(dog1.color)

    #增加
    dog1.name = 'yuki'
    print(dog1.name)

    #修改方法setattr()与__setattr__()同样适用与增加

    #删除
    """
    del 对象.属性
    """

    del dog1.color
    # print(dog1.color)
    #方法2
    dog1.__delattr__('age')
    # print(dog1.age)
    #方法3
    delattr(dog1,'age')
    # print(dog1.age)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容