鱼C论坛

 找回密码
 立即注册
查看: 1524|回复: 4

python中的继承问题

[复制链接]
发表于 2020-6-27 22:14:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import random as r
class 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'是什么意思,希望各位不吝赐教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-27 22:19:14 | 显示全部楼层
本帖最后由 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  属性就是判断它是否吃饱的属性~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-27 22:23:57 | 显示全部楼层
Twilight6 发表于 2020-6-27 22:19
调用类时候 默认 self.hungry=True 是 True  也就是默认是饥饿状态的

当你调用 eat 也就是开始吃东西 ...

万分严重表示感谢!!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-27 22:27:52 | 显示全部楼层
猛男必看 发表于 2020-6-27 22:23
万分严重表示感谢!!!!!!!!!

哈哈哈   客气客气啦~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-27 22:38:19 | 显示全部楼层
学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 14:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表