美文网首页
2018-07-31python学习面向对象(二)增删改

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

作者: 随雪而世 | 来源:发表于2018-07-31 20:49 被阅读0次
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)

相关文章

网友评论

      本文标题:2018-07-31python学习面向对象(二)增删改

      本文链接:https://www.haomeiwen.com/subject/pghkvftx.html