专栏首页python3课时36:类与对象:给大家介绍对象

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

目录:

  一、对象=属性+方法

  二、课时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课后习题及答案

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python的__get__、__set

    内容:     描述符引导         摘要         定义和介绍         描述符协议         调用描述符         样例   ...

    py3study
  • Python持久化管理   pickle

    看了一下python也可以用面向对象 就试着将java写法 就在python上试了一下 顺便熟悉一下语法  还不错。。。 希望大神指点更简结 灵巧 写法 请留求...

    py3study
  • Python 反射-isinstance

    isinstance(对象,类)  -------------------  判断一个对象是否是一个类的实例

    py3study
  • Python面向对象1:基础介绍+封装特征

    目前有三种编程方式: 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封...

    企鹅号小编
  • py3_cookbook_notes_03

    jeremyxu
  • 【项目实践】YOLO V4万字原理详细讲解并训练自己的数据集(pytorch完整项目打包下载)

    YOLOV4是YOLOV3的改进版,在YOLOV3的基础上结合了非常多的小Tricks。尽管没有目标检测上革命性的改变,但是YOLOV4依然很好...

    OpenCV学堂
  • 面向对象进阶

    Wisdom is knowing what to do next , virtue is doing it .

    GH
  • python 手把手教你基于搜索引擎实现文章查重

    文章抄袭在互联网中普遍存在,很多博主都收受其烦。近几年随着互联网的发展,抄袭等不道德行为在互联网上愈演愈烈,甚至复制、黏贴后发布标原创屡见不鲜,部分抄袭后的文章...

    1_bit
  • 基础数据结构

    郭楷丰
  • python爬虫突破限制,爬取VIP视频资源!(附源码)

    主要介绍了python爬虫项目实例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    python学习教程

扫码关注云+社区

领取腾讯云代金券