码迷,mamicode.com
首页 > 其他好文 > 详细

类和对象的增删改查

时间:2018-05-08 00:49:16      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:__init__   orm   面向   赋值   code   dict   span   直接   def   

最近写一个简单的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)

 

类和对象的增删改查

标签:__init__   orm   面向   赋值   code   dict   span   直接   def   

原文地址:https://www.cnblogs.com/hongjia/p/9005948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!