类和对象的增删改查

最近写一个简单的python脚本,延迟了半个月的进度 

接下来学习面向对象了

# 类的增删改查

class Dog:
    def __init__(self,name,age,color):
        self.name = name
        self.age = age
        self.color = color
    def jiao(self):
        print("%s汪汪叫"%self.name)

    def eat(self,food):
        print("%s喜欢吃%s"%(self.name,food))

wangcai = Dog("旺财",10,"black")
print(wangcai.age)
wangcai.eat("meat")

# 增加
def colors(self):
    print("{}是{}色的".format(self.name,self.color))
Dog.colors = colors
wangcai.colors()

Dog.like = "play ball"
print(wangcai.like)

# 删除
del Dog.jiao
# print(wangcai.jiao())  #会报错

# 替换
Dog.like = "run"
print(wangcai.like)

# 查询
print(Dog.like)
# 对象的增删改查
class Cat:
    def __init__(self,name,age,color):
        self.name = name
        self.age = age
        self.color = color
    def eat_food(self,food):
        print("%s喜欢吃%s"%(self.name,food))

c1 = Cat("miaomiao",2,"")
# 增加
c1.like ="fish"
# 查看
print(c1.__dict__)
print(c1.eat_food)
# 删除
del c1.color
print(c1.__dict__)
# 修改
c1.age = 3
print(c1.__dict__)

值得注意的是,直接赋值的修改对象。使用方法直接修改的是类

class Test:
    def __init__(self,name):
        self.name = name
    l = [1,2,4]

s  = Test("test")

# print(s.l)
# 赋值修改对象内容
# s.l = [1,2,3,4,5]
# print(s.l)

#操作的是类,在类中直接添加 与s无关
s.l.append("a")
print(s.l)
print(s.__dict__)#s中没有l的字典
print(Test.l)

猜你喜欢

转载自www.cnblogs.com/hongjia/p/9005948.html