在python
中,万物皆为对象——不管是数字、字符、字符串,还是列表、字典和我们今天要说的自定义对象,都是你心心念念的对象。
正因如此,学了python
——尤其是这一课——你就再也不是单身狗了!(真的有逻辑吗?!!)
让我们来定义加菲猫这个对象。
怎么做呢?
先问自己几个问题:
1、加菲猫是什么?
一只叫加菲的猫。
肥胖,橙色,酷爱意大利面。
** 2、猫是什么?**
一种“喵喵”叫哺乳动物。
平均寿命14岁,爱吃鱼,爱喝牛奶。
3、这跟python有毛关系?
别急啊,正要写呢。
先定义一个猫类:
class Cat:
# 初始状态,self就是对象自己
def __init__(self, name, size, color):
self.age = 0
self.name = name
self.size = size
self.color = color
# 长大一岁,超过14岁就gg了
def grow(self):
self.age += 1
if self.age >= 14:
print("Die!")
self.describe()
else:
print("%d!" % self.age)
# 猫叫(春)
def meow(self):
print("meow meow")
#吃东西(猫会挑食的)
def feed(self, food):
if food == "milk" or food == "fish":
print("Eat!")
elif self.name == "Garfield" and food == "pasta":
print("Eat!")
else:
print("Throw away!")
self.meow()
# 描述状态
def describe(self):
print("%s is %d now. It's a %s %s cat." % (self.name, self.age, self.size, self.color))
接下来生成(初始化)加菲猫(这个对象(实例))。
Garfield = Cat("Garfield", "fat", "orange")
让加菲猫成长:
from time import sleep
for i in range(0, 14):
if Garfield.age >= 14:
pass
else:
Garfield.feed("milk")
Garfield.meow()
Garfield.feed("pasta")
Garfield.meow()
Garfield.feed("fish")
Garfield.meow()
Garfield.feed("water")
Garfield.grow()
print("")
sleep(1)
有任何问题请回复提出。然后欢迎关注微信公众号格物致愚:
网友评论