课时36:类与对象:给大家介绍对象

发布时间:2019-03-03 10:22:00编辑:auto阅读(2018)

    目录:

      一、对象=属性+方法

      二、课时36课后习题及答案

     

    大家之前已经听说过封装的概念,把乱七八糟的数据扔进列表里面,这是一种封装,是数据层面的封装;把常用的代码段打包成一个函数,这也是一种封装,是语句层面的封装;本章学习的对象,也是一种封装的思想,不过这种思想显然要更高级一步:对象的来源是模拟真实世界,把数据和代码都放在了一起。

    打个比方:乌龟就是真是的一个对象:(从两方面来描述:红色的为静态特征的描述,蓝色的为动态的行为)

     

    ************************

    一、对象=属性+方法

    ************************

     python中的对象也是如此,一个对象的特征称为“属性”,一个对象的行为称为“方法”。

    如果把“乌龟”写成代码,将会是下边这样:

    class Turtle: # Python 中的类名约定以大写字母开头
        """关于类的一个简单例子"""
        # 属性
        color = 'green'
        weight = 10
        legs = 4
        shell = True
        mouth = '大嘴'
    
        # 方法
        def climb(self):
            print("我正在很努力的向前爬......")
    
        def run(self):
            print("我正在飞快的向前跑......")
    
        def bite(self):
            print("咬死你咬死你!!")
    
        def eat(self):
            print("有得吃,真满足^_^")
    
        def sleep(self):
            print("困了,睡了,晚安,Zzzz

     以上代码定义了对象的特征(属性)和行为(方法),但还不是一个完整的对象,将定义的这些称为类(Class)。需要使用类来创建一个真正的对象,这个对象就叫作这个类的一个实例(Instance)也叫实例对象(Instance Objects)

    可以这样理解:这好比工厂的流水线要生产一系列玩具,是不是先做出这个玩具的模具,然后根据这个模具再进行批量生产,才得到真正的玩具。

    再举个例子:盖房子,,是不是得先有个图纸,但光有个图纸你能不能住进去?显然是不能的。图纸只告诉了你这个房子长什么样子,但图纸并不是真正的房子。要根据图纸用钢筋水泥建造出来的房子才能住人,另外根据一张图纸就能盖出很多房子。创建一个对象,也叫类的实例化,其实很简单:

    >>> #先运行程序
    >>> tt = Turtle()

    注意,类名后边跟着的小括号,这跟调用函数是一样的,所以在Python中,类名约定用大写字母开头,函数用小写字母开头,这样更容易区分。另外赋值操作并不是必需的,但如果没有把创建好的实例对象赋值给一个变量,那这个对象就没办法使用,因为没有任何引用指向这个实例,最终会被Python的垃圾收集机制自动回收。

    那如果要调用对象里的方法,使用点操作符(.)即可。

    >>> tt.climb()
    我正在很努力的向前爬......
    >>> tt.bite()
    咬死你咬死你!!
    >>> tt.sleep()
    困了,睡了,晚安,Zzzz

     

    *******************************

    二、课时36课后习题及答案

    *******************************

     

     

关键字