【python基础知识】12.类与对象(一)

2023-11-17

这篇文章中,我们会接触到一种全新的编程思维:面向对象编程(Object Oriented Programming)。相信这种编程思维,会为你打开一个新的世界。

可以说,要想利用Python做出更复杂更炫酷的程序,这种编程思维就是绕不过的坎。

我想此刻你的小脑瓜会冒出三连问:那到底面向对象编程是什么?有什么用?要怎么用?

我用一句话来剧透就是:面向对象编程是一种以对象为中心的编程思想,它在软件设计、数据库设计、网络结构设计、人工智能算法等领域有着非常广泛的应用。

也许你会觉得这些概念对现在的你还太过遥远,那我想再给你看看一个没那么复杂的玩意儿;
在这里插入图片描述
比如这个画风清奇的小游戏,玩家可以通过键盘控制滑雪者来躲避障碍物。它是Charles制作的小游戏,链接:
https://github.com/CharlesPikachu/Games/tree/master/Game4
这个游戏是用Python写的,它的实现基础就是我们今天要学习的内容,我想等你学完基础语法后,你也能试着去理解源代码,琢磨些有趣好玩的程序,不断精进编程水平。

兴奋起来了吗?那我们就开始正式学习之旅咯!

了解概念,是这次旅程的起点,也是后面课程的基础。所以,注意力一定要集中哦!

“类”的基本概念

看到“类”这个字,你的第一反应是什么,想到了什么词语?

人类?鸟类?鱼类?植物类?没错,我们常用类来划分一个个特定的群体。

现在,请你用几秒的时间,让眼睛离开屏幕,留意一下周围,看看都有哪些种类的物品。

发现了吗?在我们的身边,事物被井井有条地划分成了各个种类,如电子类、家具类、服饰类、食品类……

再想一想:你每次逛超市或网上购物时,是不是也被各种品类的商品所包围?

在这里插入图片描述
这便是生活中我们所说的类,是物以类聚的类,是分门别类的类,是多个类似事物组成的群体的统称。类的概念能帮助我们快速理解和判断事物的性质。

同样在编程世界里,其实我们从第一天开始就在接触类(class),比如整数、字符串、浮点数等,不同的数据类型就属于不同的类。

准确来说,它们的全名是整数类、字符串类、浮点数类。我们可以用type()函数来验证一下:

print(type('1')) # '1'属于字符串类'str'
print(type(1))  # 1属于整数类'int'
print(type([1])) # [1]属于列表类'list'

运行结果:

<class 'str'>
<class 'int'>
<class 'list'>

输出结果是<class ‘str’>,表明1属于字符串类,以此类推。

不难发现,类之所以为类是因为每一个类之下都包含无数相似的不同个例。比如你正在看的这台电脑和我写稿的电脑,都属于电脑类;你和我,都属于人类。

编程世界中,每个类也会有众多实际的个例。比如数字1和2,都属于整数类;‘第一个栗子’和’第二个栗子’,都属于字符串类。

在Python的术语里,我们把类的个例就叫做实例 (instance),可理解为“实际的例子”。

在这里插入图片描述

万事万物,皆为对象

当然,这里说的不是“找对象”的对象,也不是

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【python基础知识】12.类与对象(一) 的相关文章

随机推荐

  • C ~ 循环

    有时 可能需要多次执行同一块代码 一般情况下 语句是顺序执行的 函数中的第一个语句先执行 接着是第二个语句 依此类推 编程语言提供了允许更为复杂的执行路径的多种控制结构 循环语句允许多次执行一个语句或语句组 大多数编程语言中循环语句的一般形
  • 文本预处理技巧:去除停用词、词形还原、词干提取等

    文本预处理是自然语言处理中非常重要的一步 它是为了使得文本数据能够被机器学习模型所处理而进行的一系列操作 其中 去除停用词 词形还原 词干提取等技巧是比较常用的 本文将介绍这些技巧的原理 并提供使用Python实现的代码示例 帮助读者更好地
  • 1.1.1.1校园网_突破校园网限制,开启寝室Wifi

    1 前言 由于学校的上网费用过于昂贵 所以和室友拼了一个学期的上网套餐 准备共享宽带账号并开启路由器 2 准备 一台刷好老毛子系统的路由器 一台正常上网的电脑 一根网线 工具 链接 https pan baidu com s 1mOFfFZ
  • 阻止事件的默认行为、React阻止事件的默认行为

    HTML中阻止事件的默认行为可以用return false a href Click me a 而React中只能显示调用e preventDefault function ActionLink function handleClick e
  • gitlab--基础--4.2--CICD--runner--常用命令

    gitlab 基础 4 2 CICD runner 常用命令 1 systemctl 读取的配置是 etc systemd system gitlab runner service文件 启动 systemctl start gitlab r
  • Linux下脚本实战之系统监控

    Linux下脚本实战之系统监控 一 脚本要求 二 脚本内容 三 运行脚本 一 脚本要求 1 监控系统的CPU 内存 硬盘使用率 二 脚本内容 bin bash File Name monitor sh Version V1 0 Aurhor
  • k8s Pod定义yaml配置文件详解

    此文件相关配置查询 此文件只做参考 以查询为准 kubectl explain 为文档查询命令如 kubectl explain pod spec volumes apiVersion v1 版本 kind pod 类型 pod metad
  • 互联网的行业都有哪些岗位?

    很多小伙伴想转行互联网 却对互联网行业知之甚少 今天小千就给大家简单介绍一下 方便感兴趣的同学自行入坑 互联网行业有哪些岗位 技术方向 架构师 前端工程师 后端工程师 人工智能 开发工程师 测试工程师 运维工程师等 市场方向 市场营销 媒介
  • Java之语言概述

    文章目录 1 软件开发介绍 1 1 常用的DOS命令 2 计算机编程语言介绍 3 Java语言概述 3 1 Java简史 3 2 Java技术体系平台 4 Java程序运行机制及运行过程 4 1 Java两种核心机制 2 垃圾收集机制 Ga
  • linux系统编程-2、进程

    前言 Linux系统编程的基础系列文章 随着不断学习会将一些知识点进行更新 前期主要是简单了解和学习 文章目录 进程 进程运行状态 进程原语 fork 进程相关函数 exec族 execl exec族区别 wait waitpid 进程 进
  • HTML中li去除样式以及占位问题

    在HTML中 使用 ul li li ul 的时候 总是会在列表的前面出现小圆点 去掉小圆点使用的方法很简单 就是直接使用CSS选择器进行选择之后进行样式的设定 具体应用如下 但是在去除小圆点之后仍然会存在问题 我们会发现使用此法去除小圆点
  • rest server的CRUD在线测试网站

    1 在sparkle的httpclientdemo中发现一个在线的测试网站 http httpbin org get 2 使用rest Debugger工具测试
  • 【前端】Vue项目:旅游App-(7)city:搜索框search和标签页Tabs

    文章目录 目标 过程与代码 搜索框 初步 自己实现取消功能 样式修改 标签页 效果 总代码 修改的文件 common css city vue main js 目标 过程与代码 搜索框 初步 在Vant文档中找到搜索框 Search搜索 按
  • SSH框架学习总结

    SSH框架学习总结 最终版权 JDram314 如转载请贴出出处 本来对SSH框架的学习可以早在去年 但是一直在给老师弄他的科研部分 所以一直拖到最近才算是学完了 乘现在有空总结一下 方便以后复习 一 Struts 在没有学习SSH框架前
  • MTK深圳公司嵌入式软件工程师笔试题(答案详解)

    1 1 define pi 3 142 define Area R pi R R3 main 4 5 int r1 5 r2 2 6 double s 0 7 s Area r1 r2 8 printf The area is f s 9
  • numpy.random.RandomState() numpy里random总结

    numpy random RandomState 函数用法 可以通过numpy工具包生成模拟数据集 使用RandomState获得随机数生成器 from numpy random import RandomState rdm RandomS
  • nginx+fastcgi+c/c++源码安装配置

    参考 http www cnblogs com xiaouisme archive 2012 08 01 2618398 html 由于以前安装过apache 已经安装了很多依赖库 现在只需要安装以下软件包 nginx 1 4 4 tar
  • s3cmd put 时提示 ERROR: S3 error: 403 (QuotaExceeded)

    配置里的rgw配额是10000000写满 s3cmd put 时提示 ERROR S3 error 403 QuotaExceeded rgw bucket default quota max objects 值为 1 查看配额信息 rad
  • 线性模型的介绍

    一 背景 在一个理想的连续世界中 任何非线性的东西都可以被线性的东西来拟合 所以理论上线性模型可以模拟物理世界中的绝大多数现象 线性模型 Linear Model 是机器学习中应用最广泛的模型 指通过样本特征的线性组合来进行预测的模型 给定
  • 【python基础知识】12.类与对象(一)

    类与对象 一 类 的基本概念 万事万物 皆为对象 类的创建和调用 我们都是中国人 类的创建 类的调用 总结 这篇文章中 我们会接触到一种全新的编程思维 面向对象编程 Object Oriented Programming 相信这种编程思维