python对象(一)init方法,__str__方法简单使用

class Cat:

def__init__(self,name,age):

self.name = name

self.age = age

#魔术方法,妈的,优达的课真JB坑,这都不讲,类似java toString方法

def__str__(self):

return"姓名:%s年龄:%d"% (self.name,self.age)

defeat(self):

print("cat eat shit")

defdrink(self):

print("cat drink shit")

defintroduce(this):

"""方法的第一个参数都指向本对象自身,可以叫任何名字,默认self"""

print("%s的年龄是%d"% (this.name,this.age))

# tom = Cat()

# tom.drink()

# tom.eat()

# tom.name = "tom"  #居然可以在没有定义属性的时候直接给属性赋值

# tom.age = 23

# tom.introduce()

tom = Cat("lanmao",33)

# tom.introduce()

print(tom)

#============================================================================================

class SweetPotato:

def__init__(self):

self.cookedString ="生的"

self.cookedLevel =0

self.smell = []

def__str__(self):

return"地瓜状态:%s(%d)味道是:%s"% (self.cookedString,

self.cookedLevel,str(self.smell))

defcook(self,cook_time):

self.cookedLevel += cook_time

ifself.cookedLevel >=0andself.cookedLevel <3:

self.cookedString ="生的"

elifself.cookedLevel >=3andself.cookedLevel <5:

self.cookedString ="半生不熟"

elifself.cookedLevel >=5andself.cookedLevel <8:

self.cookedString ="熟了"

else:

self.cookedString ="胡了"

defaddCondiments(self,flavor):

self.smell.append(flavor)

digua = SweetPotato()

digua.cook(1)

print(digua)

digua.cook(1)

print(digua)

digua.cook(1)

digua.addCondiments("屎")

print(digua)

digua.cook(1)

print(digua)

digua.cook(1)

print(digua)

digua.cook(1)

digua.addCondiments("姜")

print(digua)

digua.cook(1)

print(digua)

digua.cook(1)

print(digua)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容