类与对象

类:我们常用类来划分一个个特定的群体;我们所说的类,是物以类聚的类,是分门别类的类,是多个类似事物组成的群体的统称。类的概念能帮助我们快速理解和判断事物的性质。

类(class),比如整数、字符串、浮点数等,不同的数据类型就属于不同的类。我们可以用type()函数来验证类。编程世界中,每个类也会有众多实际的个例。比如数字1和2,都属于整数类;'第一个栗子'和'第二个栗子',都属于字符串类。

在Python的术语里,我们把类的个例就叫做实例?(instance),可理解为“实际的例子”。类是某个特定的群体,实例是群体中某个具体的个体。

对象:Python中的对象等于类和实例的集合:即类可以看作是对象,实例也可以看作是对象,比如列表list是个类对象,[1,2]是个实例对象,它们都是对象。

类和实例之共同点:

第一种是描述事物是怎样的,有什么特征,比如黑眼睛、黄皮肤。

第二种是描述事物能做什么,有哪些行为和作用,比如能用筷子吃饭、会讲汉语。

我们会把第一种共同点叫作属性(即what),第二种叫作方法(即how)。

比如列表的属性有:外层有中括号,元素之间用英文逗号隔开,方法有:都可以做增删改操作(如 append、del等)。

Python里的每个类都有自己独特的属性(attribute)和方法(method),是这个类的所有实例都共享的。换言之,每个实例都可以调用类中所有的属性和方法。

编程中还是有一点和现实不同。那就是——现实世界中各个类的属性和方法是我们根据客观存在做出的抽象总结。

而编程世界中各个类的属性和方法,是需要我们自行创建的(实际上整数、列表这些内置数据类型也是需要的,只不过Python预先创建好了,我们可以直接使用)。

类的创建和调用:

类的创建:如图

类的创建

实例方法的创建语句,和函数的定义语句很类似,唯一不同的是:实例方法中有个必须放在首位的参数self。

还有,类名的首字母要大写,以便让我们轻松地辨认出这个是类!

类的调用:实例的属性,如图:

类的调用

类的实例化:

类的实例化

实例属性打印结果:如图

调用打印结果

第一行:验证了my_computer属于Computer这个类;第二行打印出Computer类的一个实例对象(object),后面的一串字符表示这个对象的内存地址。

当实例my_computer一被创建出来,就可以调用类中的属性和方法。概括说就是:类有的实例都会有。

调用的语法:是实例名.属性和实例名.方法,举例如图:

类的调用语法

倒数第二行:my_computer.screen先是获取到类属性screen对应的值True,再用print()打印出来。

最后一行:my_computer.start()调用方法start(),这个方法的功能是直接打印出'电脑正在开机中……'。

注意: 类的第一个字母要大写,参数self的特殊之处:在定义时不能丢,在调用时要忽略。

类的创建和调用语法总结:如图:

类的创建和调用语法总结

类中创建的属性和方法可以被其所有的实例调用,而且,实例的数目在理论上是无限的。我们可以同时“新建”多个实例:类也被称为“实例工厂”,因其为所有实例提供了一套蓝图(即预先设定好有什么属性和方法)。

python 类和对象 有必要学吗_类与对象-python学习19相关推荐

  1. python中构造方法和析构方法的区别_类的构造方法、析构方法、实例方法

    类的构造方法.析构方法.实例方法 上一个小节我们学习了 Python 的类属性和实例属性的知识点,这个小节我们还是会学习关于类的知识.这节课我们会学习类的构造方法.析构方法和实例方法. 1. 实例方法 ...

  2. 为什么叫python编程-运维为什么要学编程?编程为什么是Python?

    作者介绍: comyn,李学明.python大神,原大众点评运维平台架构师,腾讯广告部核心运维专家,饿了么Python运维开发高级总监,现就职于海淘公司.多年一线运维经验,参与过架构改造.平台迁移.自 ...

  3. 求知讲堂python+人工智能 99天完整版 学完可就业+某某教程Python 100例————作业(持续更新)

    个人答案仅供参考,不喜勿喷. 求知讲堂python+人工智能 99天完整版 学完可就业 1.day1 1. import random index=1 error=0 age=random.randi ...

  4. python语言的单行注释以井号开头_推荐|零基础学习Python基础知识

    原标题:推荐|零基础学习Python基础知识 Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进. Python具有丰富和强大的库,又被称为胶水语言.能把其他 ...

  5. python中可哈希是什么意思_实习小记-python中可哈希对象是个啥?what is hashable object in python?...

    废话不多说直接祭上python3.3x的文档:(原文链接) object.__hash__(self) Called by built-in function hash() and for opera ...

  6. python底层是用什么语言实现的_我为何说Python是全栈式开发语言?

    Python 的排名从去年开始就借助人工智能持续上升,如今它已经成为了第一名.但排在前四名的语言 Python.C.Java 和 C++都拥有广大的用户群体,而且他们的用户总量也十分相近.实际上,Di ...

  7. python编程快速上手-----让繁琐工作自动化_每周一书《Python编程快速上手 让繁琐工作自动化》分享!...

    内容简介 如今,人们面临的大多数任务都可以通过编写计算机软件来完成.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过Python编程,我们能够解决现实生活中的很多任务. 本书是 ...

  8. python 用if判断一个数是不是整数_五天学会Python基础02(下)

    函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案.想到这一点问题的答案就呼之 ...

  9. 为什么python打开pygame秒关闭后在运行_当我运行Python程序时,pygame窗口打开片刻,然后退出 - python...

    我是一个刚开始尝试通过在线课程使用python和pygame制作游戏的程序员.但是,当我运行以下代码时,pygame窗口将打开一秒钟,然后关闭. import pygame pygame.init() ...

最新文章

  1. 第四课.Python函数(一)
  2. Java开发中使用模拟接口moco响应中文时乱码
  3. java sql 参数_java jdbc连接数据库,Properties 属性设置参数方法
  4. centenos安装mysql,Cento7 安装mycat和mycat-eye
  5. An error occurred while searching for implementations of method
  6. QT 010 Qt 4.2 在线手册含UML图解释 User's Guide Documentation
  7. 大数据之-Hadoop本地模式_WordCount官方案例---大数据之hadoop工作笔记0022
  8. 类和对象编程(八):指向类的指针
  9. Linux虚拟机之间实现密钥登陆
  10. ASP.NET Core 基础教程总结 - ASP.NET Core 基础教程 - 简单教程,简单编程
  11. 【吐血整理】Java项目源码分享
  12. 机械工程师手册 pdf版下载_现代机械零部件设计手册 [于惠力 编]pdf下载0284
  13. jre7或jre8或其他版本共存问题
  14. 基于matlab雷达算法,基于MATLAB的雷达信号处理
  15. 5G网络结构核心网侧接口介绍
  16. neovim安装 vim-plug插件管理器安装
  17. 道德绑架?抹杀激情?听我的,别再给孩子买运动手环了
  18. vba调用python代码_Python替代Excel Vba系列(终):vba中调用Python
  19. [附源码]计算机毕业设计Python蛋糕购物商城(程序+源码+LW文档)
  20. 成功解决:You are using pip version 9.0.3, however version 20.3.3 is available. You should consider upgra

热门文章

  1. plsql轻量版记录类型2
  2. 前端学习(1409):多人管理29安装json转换工具
  3. 前端学习(612):js的三种书写位置
  4. 前端学习(556):margin与容器的尺寸
  5. spring mvc学习(9):路径参数
  6. 19.jsp生命周期
  7. TI基于MSP430F67641的电能表技术方案
  8. KEIL ARM 6.12 compiler 编译__ASM 错误的解决方法
  9. 关于春招 秋招面试的一些经验
  10. 回文_Manacher算法