第九天

作者: Liar_f95f | 来源:发表于2018-07-21 23:57 被阅读0次

第十一章

理解类与对象,他们的关系,理解【继承】【组合】两个概念。
接下来进去编码的重点章节,整章内容都是重点。
任务1:写一遍整章的所有例子并理解例子所讲的知识点,做笔记。
任务2:编写类描述 人类,中国人,印度人,亚洲人,非洲人,广东人,的特征和能力。【想到什么特征和能力就写上去】
(代码文件要放马云上)

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 Godfish(Fish):
    pass

class Carp(Fish):
    pass

class Salmon(Fish):
    pass
#上边几个都是食物,食物不需要有个性,所有直接继承fish类的全部属性和方法即可
#下边定义鲨鱼类,这个是吃货,除了继承fish类的属性和方法,还要添加一个吃的方法

class Shark(Fish):
    def __int__(self):
        self.hungry = Ture
    def eat(self):
        if self.hungry:
            print("吃货的梦想就是天天有的吃")
            self.hungry = False
        else:
            print("太撑了,吃不下了!")

跑错

Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    fish.move()
  File "C:/Users/a/Desktop/161401135-雷伟亮/继承,鱼的例子.py", line 12, in move
    self.x -= 1
AttributeError: 'Fish' object has no attribute 'x'

今天总结:

1、对象=属性+方法。一个对象的特征为“属性”,一个对象的行为称为“方法”。
2、self:就相当于每个房子的门牌号,用法如下

class Ball:
    def setName(self,name):
        self.name = name
    def kick(self):
        print("我叫%s,我好帅!" % self.name)  
c = Ball()
c.setName("宁爷")
b = Ball()
b.setName("宁哥")

3、print("我叫%s,我好帅!" % self.name) 中 。%s 令牌允许我插入(和潜在的格式)的字符串。比如,"Hello %s, my name is %s" % ('john', 'mike') # Hello john, my name is mike".
4、公有:通过(.)进行访问,比如p.name。
-----私有:在变量名或函数名前加”__“两个下划线表示,比如p.__name。
5、继承,相似的机制自动传递,class类名(被继承的类)

class parent:
    def hi(self):
        print("正在调用父类的方法...")

class child(parent):
    pass

p = parent()
p.hi()
c = child()
c.hi()

class child(parent):
    def hi(self):
        print("正在调用子类的方法...")

c = child()
c.hi()

余留问题和任务·:
1__int__()方法称为构造方法,构造函数没看懂
2、 学习到课本,111页,自己看书学得有点燥。明天继续学习组合,努力看每一个字,解决上面继承跑错的问题,之后完成任务二。
3、代码还没试过上传的码云上,不知上传有没问题,一定要再Linux终端上传吗?
4、最近长痘,今晚早睡。

相关文章

网友评论

      本文标题:第九天

      本文链接:https://www.haomeiwen.com/subject/skihmftx.html