1. 一文看懂 Python 面向对象:什么是对象与一切皆对象

简介: 本节详解Python“一切皆对象”的内涵:以乌龟为例,阐释类、对象、属性、方法等OOP核心概念;说明OOP是比函数/数据封装更高级的抽象方式,能更真实模拟现实世界;并揭示Python中int、str、dict等内置类型本质都是对象。(239字)

读者肯定听过Python中“一切皆对象”的说法,但可能并不了解它的具体含义,只是在学习的时候听说Python是面向对象的编程语言,本节将向大家详细介绍Python面向对象的含义。

面向对象编程是在面向过程编程的基础上发展来的,它比面向过程编程具有更强的灵活性和扩展性。面向对象编程是程序员发展的分水岭,很多初学者会因无法理解面向对象而放弃学习编程。

面向对象编程(Object-oriented Programming,简称 OOP),是一种封装代码的方法。其实,在前面章节的学习中,我们已经接触了封装,比如说,将乱七八糟的数据扔进列表中,这就是一种简单的封装,是数据层面的封装;把常用的代码块打包成一个函数,这也是一种封装,是语句层面的封装。

代码封装,其实就是隐藏实现功能的具体代码,仅留给用户使用的接口,就好像使用计算机,用户只需要使用键盘、鼠标就可以实现一些功能,而根本不需要知道其内部是如何工作的。
本节所讲的面向对象编程,也是一种封装的思想,不过显然比以上两种封装更先进,它可以更好地模拟真实世界里的事物(将其视为对象),并把描述特征的数据和代码块(函数)封装到一起。

打个比方,若在某游戏中设计一个乌龟的角色,应该如何来实现呢?使用面向对象的思想会更简单,可以分为如下两个方面进行描述:
从表面特征来描述,例如,绿色的、有4条腿、重10kg、有外壳等等。
从所具有的的行为来描述,例如,它会爬、会吃东西、会睡觉、会将头和四肢缩到壳里,等等。

如果将乌龟用代码来表示,则其表面特征可以用变量来表示,其行为特征可以通过建立各种函数来表示。参考代码如下所示:

class tortoise:
    bodyColor = "绿色"
    footNum = 4
    weight = 10
    hasShell = True
    #会爬
    def crawl(self):
        print("乌龟会爬")
    #会吃东西
    def eat(self):
        print("乌龟吃东西")
    #会睡觉
    def sleep(self):
        print("乌龟在睡觉")
    #会缩到壳里
    def protect(self):
        print("乌龟缩进了壳里")

注意,以上代码仅是为了演示面向对象的编程思想,具体细节后续会做详细介绍。

因此,从某种程序上,相比较只用变量或只用函数,使用面向对象的思想可以更好地模拟现实生活中的事物。

不仅如此,在 Python 中,所有的变量其实也都是对象,包括整形(int)、浮点型(float)、字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。以字典(dict)为例,它包含多个函数供我们使用,例如使用 keys() 获取字典中所有的键,使用 values() 获取字典中所有的值,使用 item() 获取字典中所有的键值对,等等。
**面向对象相关术语
在系统学习面向对象编程之前,初学者要了解有关面向对象的一些术语。当和其他人讨论代码的时候,或者尝试查找我们遇到的问题的解决方案时,知道正确的术语会很有帮助。

面向对象中,常用术语包括:

  • 类:可以理解是一个模板,通过它可以创建出无数个具体实例。比如,前面编写的 tortoise 表示的只是乌龟这个物种,通过它可以创建出无数个实例来代表各种不同特征的乌龟(这一过程又称为类的实例化)。
  • 对象:类并不能直接使用,通过类创建出的实例(又称对象)才能使用。这有点像汽车图纸和汽车的关系,图纸本身(类)并不能为人们使用,通过图纸创建出的一辆辆车(对象)才能使用。
  • 属性:类中的所有变量称为属性。例如,tortoise 这个类中,bodyColor、footNum、weight、hasShell 都是这个类拥有的属性。
  • 方法:类中的所有函数通常称为方法。不过,和函数所有不同的是,类方法至少要包含一个 self 参数。例如,tortoise 类中,crawl()、eat()、sleep()、protect() 都是这个类所拥有的方法,类方法无法单独使用,只能和类的对象一起使用。
相关文章
|
3天前
|
人工智能 安全 API
免费千万 Tokens 体验大模型:阿里云百炼 API-Key 申请、权限管理、多平台环境配置与代码实操指南
API‑Key是访问百炼大模型服务的身份凭证,整个接入流程分为开通服务、创建密钥、配置环境变量、业务调用四个主要步骤。创建密钥重点理解**归属账号、业务空间、自定义权限**三个配置项,业务空间决定密钥能够访问哪些模型,自定义IP白名单、模型白名单可以极大提升密钥的安全等级。开发调试阶段可以使用临时环境变量,线上生产环境配置永久环境变量,不要把密钥写死进代码。针对第三方AI工具,填入API‑Key、兼容模式Base‑URL、模型名称就可以快速完成对接。同时掌握curl、Python的基础调用代码,可以快速验证接口连通性,调试业务逻辑。开发者需要重点关注密钥安全,密钥一旦泄露会带来非预期的Toke
101 0
|
6天前
|
人工智能 数据可视化 JavaScript
阿里云百炼平台介绍2026:官网入口链接、免费AI大模型领取及常见问题解答FAQ
阿里云百炼(Model Studio)是一站式大模型服务平台,集成通义千问、DeepSeek、Kimi等百余款主流模型;支持OpenAI兼容API、可视化应用构建、模型微调与部署,新用户享7000万Token免费额度(90天有效期)。
325 0
|
1天前
|
存储 程序员 C语言
1. Python 内置数据类型:整数 int 详解
Python整数(int)无类型区分,取值范围无限,自动支持大数运算,不溢出。支持十、二、八、十六进制(如0b101、0o26、0x45),Python 3.x还允许用下划线分隔数字(如1_000_000)提升可读性。
|
1天前
|
人工智能 弹性计算 监控
从建站到 AI 训练:阿里云 ECS、GPU 云服务器、轻量、AI 云产品配置与价格详解
阿里云全栈算力体系覆盖了从简单轻量站点、企业通用业务,到大模型训练推理的全部算力需求。轻量应用服务器主打快速上手、低成本,适合入门项目; 阿里云ECS云服务器 弹性云服务器是企业业务基石,资源高度灵活,适配复杂业务架构;GPU云服务器EGS提供高性能并行算力,承担大模型训练微调这类重型计算任务;AI云产品MaaS服务屏蔽底层硬件,直接提供模型能力,快速把AI能力集成进业务系统。项目上云的核心原则,是按需匹配算力,不要过度采购高性能资源造成资金浪费,也不要因为过度压缩配置导致业务故障。在项目规划阶段,梳理清楚业务并发、存储需求、AI模型需求,选择单产品或者多产品组合方案,配合监控脚本持续观测资源
30 6
|
1天前
|
供应链 监控 大数据
拆解1688采购指数4.0:B2B平台给商品「采购吸引力」定价的底层逻辑
1688采购指数升级至4.0,以“口碑、价格、品质、商誉、服务”五力模型重构B2B流量分配逻辑,推动平台从行为统计转向能力量化,倒逼商家夯实供应链服务能力。
|
1天前
|
存储 人工智能 安全
千问办公网页端怎么登录?QwenWork官网入口与注册登录积分福利说明
阿里云千问办公(QwenWork)是AI智能办公平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日100积分,含5个发布页、1GB存储;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
22 1
|
1天前
|
弹性计算 运维 数据库
长篇连载的工程化:把大纲、伏笔和记忆交给可检查的流水线
《webnovel-writer》是一款面向长篇网文创作的工程化工具,以`.story-system/`为唯一事实源,通过“写前查资料、写后登记事实”流程保障200万字级连载的一致性;内置write-gate审查、五路投影、章节备份与云上运维支持,Star 7164,GPL v3开源。
26 1
|
7天前
|
存储 SQL 弹性计算
公共场所WiFi验收,最容易卡住的不是信号而是合规
做了几个酒店和商场 WiFi 项目后复盘:验收最容易卡住的不是信号覆盖,而是实名认证和日志留存。本文从 Portal 认证 + 实名绑定的落地、180 天日志全量采集与加密留存、防护策略在线运行,到交付前自测清单,讲清楚这两块为什么设计阶段不规划、交付时必返工,以及怎么真的做扎实。
|
1天前
|
人工智能 自然语言处理 数据可视化
破解数据孤岛难题:适合汽车行业的BI产品推荐及落地实践
本文剖析汽车行业数据孤岛的三大成因(产业链长、指标多义、时效分化),重点推荐阿里云瓴羊Quick BI:支持全链路数据接入与统一指标治理,AI助手“智能小Q”实现自然语言问数,归因分析自动化,并通过极氪“极数BI”落地案例验证实效。