python中的继承问题
import random as rclass Fish:
def __init__(self):
self.x=r.randint(0,10)
self.y=r.randint(0,10)
def move(self):
self.x=-1
print('我的位置是:',self.x,self.y)
class Goldfish(Fish):
pass
class Carp(Fish):
pass
class Salmon(Fish):
pass
class Shark(Fish):
def __init__(self):
self.hungry=True
def eat(self):
if self.hungry:
print('吃货的梦想就是天天有的吃')
self.hungry=False
else:
print('太棒了,吃不下!')
各位大神们,倒数第三行的'self.hungry=False'是什么意思,希望各位不吝赐教 本帖最后由 Twilight6 于 2020-6-27 22:21 编辑
调用类时候 默认 self.hungry=True 是 True也就是默认是饥饿状态的
当你调用 eat 也就是开始吃东西时候,因为开始时候 self.hungry=True所以 if 条件成立 也就是此时是 饿的状态
if 条件成立了就开吃了,那么吃完会怎么样呢?肯定是吃饱了呀,所以这个时候把饥饿属性设置为 self.hungry= False 就是吃饱了,不饿了的意思
所以如果下次你继续调用 eat 方法,因为 self.hungry被重新赋值为了 False 那么下次判断就会执行 else 的语句 也就是打印太棒了,吃不下! 那句话
也就不会继续继续吃了哈哈
这样讲可以理解嘛???
实际上这里的 self.hungry属性就是判断它是否吃饱的属性~
Twilight6 发表于 2020-6-27 22:19
调用类时候 默认 self.hungry=True 是 True也就是默认是饥饿状态的
当你调用 eat 也就是开始吃东西 ...
万分严重表示感谢!!!!!!!!! 猛男必看 发表于 2020-6-27 22:23
万分严重表示感谢!!!!!!!!!
哈哈哈 客气客气啦~~~ 学到了
页:
[1]