面向对象的基本语法 | 学习笔记

简介: 快速学习 面向对象的基本语法

开发者学堂课程【Python入门 2020年版面向对象的基本语法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10367


面向对象的基本语法


内容介绍:

一、类和对象

二、练习


一、类和对象

类和对象是面向对象编程的两个核心概念。

1)类

类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用(表达有误,也是可以直接使用的)

特征其实就是一个变量,在类里我们称之为属性。

行为其实就是一个函数,在类里我们称之为方法。

类其实就是由属性和方法组成的一个抽象概念。

类就相当于制造飞机时的图纸,是一个模板。

这个模板只规定了飞机的某些特征(例如大小,颜色,型号等等)和行为(例如起飞,降落,飞行等等),它并不是一个具体的飞机,而是对飞机的一个抽象概念。它出现的目的,是为了让我们的创建飞机对象。

在上次的例子中,在提到人的时候并没有特指某一个人,每个人想到的人都是不一样的,但他们有共同的特征,比如有鼻子、眼睛、会直立行走,说明对人这个类达成了一个共识,他们的特征就是如此,这就是类的概念。

但当提到特定的人的时候,例如周杰伦,会得到相对应的特征。提到狗就会想到对应的特征,有毛有尾巴,但具体想到的狗的品种是不一样的。需要具体到某一个类具体的事物。

2)对象                

对象是由类创建出来的一个具体存在,可以直接使用。由哪一个类创建出来的对象,就拥有在哪一个类中定义的秉性和方法,对象就相当于用图纸制造的飞机。

在开发中,应该先有类,在类里定义好属性和行为,再根据类来创建对象。

3)类和对象的关系

类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象。

使用同一个类,能够创建出很多对象。

类中定义了什么属性和方法,对象中就有什么属性和方法。

不同对象对应的属性值也会不同。

例如:定义了一个狗类,这个狗类有以下属性:

品种

颜色

性别

名字

现在根据这个类创建出了两条狗,这两条狗分别是 哈士奇、灰色、母、二哈和中华田园犬、黄色、公、旺财。

我们发现,这两条狗都具有品种,颜色、性别和名字这些属性,但是每条狗对应的属性值却不一样。

4)类的设计

在使用面相对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类。

在程序开发中,要设计一个类,通常需要满足一下三个要素:

1.费名这类事物的名字,安照大驼峰命名法(每个单词的首字母大写)起名。

2.属性这类事物具有什么样的特征。

3.方法这类事物具有什么样的行为。

5)定义类名

名词提炼法:分析整个业务流程,出现的名词,通常就是找到的类。

6)属性和方法的确定

对对象的特征描述,可以定义成属性

对象具有的行为”(动词)可以定义成方法


二、练习

1)需求1

小明今年18岁,身高1.75,每天早上跑完步,会去吃东西

小美今年17岁,身高1.65,小美不跑步,小美喜欢吃东西

从这两句话中可以总结出来,在拿到需求之后,需要把上面两句话抽象成一个类。

新建 python 文件,命名为06-面向对象的基本语法

首先第一步是创建并定义一个类:类名怎么定义?

使用一个类来定义 class 根据业务需求完成,关键字就是 classclass 后在类名,在这里是一个学校管理系统,所以类名为 Student

但如果是社区登记之类的,在这类名可以改成 Person,总之类名是根据需求来确定,要放在实际情况中。由于在这里没有具体的语境,在这认为是学生类。

class类名:类名一般需要遵守大驼峰命名发,每一个单词的首字母大写

有两种写法,这两者没有太大的区别

1.class  <类名>

2.class  <类名>(object):

可能会见到以下类似的代码:

class Student(object):

pass

在曾经的一个 builtins.py 文件中会有很多的内置函数。除此之外还有许多内置的类,例如 int 类,它的写法就是 class int(object):,不过系统内置的类名是小写的,自己再写类名的时候要注意大写字母开头。

在定义类的时候要关注类有的属性和行为,分析得出了有名字、年龄、身高属性,需要在__init__方法里,以参数的形式定义属性。

把属性的特征在 init 方法中,以参数的形式定义特征,称之为属性。行为定义为一个个函数。

创建新的对象 s1 =  Student() Student()è 会直接调用__init__,调用init后,需要调用三个参数,需要加入内容。在使用 Student 类创建两个实例对象后,两个都会有 nameageheight 属性,同时都有 run eat 方法。

再根据题目需要选择执行的行为,这的行为用函数来定义。

def ___int__(self):

pass

注意:记得区分 init int 这两个函数

代码整体变为:

class Student(object):

def ___init__(self,name,age,height):

self.name = name

self.age = age

self.height = height

def run(self)

print(’正在跑步’)

def eat(self)

print(‘正在吃东西’)

s1 = Student(‘小明’,18,1.75)

s1 = Student(‘小美丽’,17,1.65)

s1.run()

s1.eat()

s2.eat()

2)需求2

一只黄颜色的狗狗叫大黄

看见生人汪汪叫

看见家人摇尾巴

相关文章
|
9月前
|
机器学习/深度学习 存储 算法
Python 机器学习算法交易实用指南(一)(2)
Python 机器学习算法交易实用指南(一)
206 2
|
3天前
|
人工智能 自然语言处理 Shell
深度评测 | 仅用3分钟,百炼调用满血版 Deepseek-r1 API,百万Token免费用,简直不要太爽。
仅用3分钟,百炼调用满血版Deepseek-r1 API,享受百万免费Token。阿里云提供零门槛、快速部署的解决方案,支持云控制台和Cloud Shell两种方式,操作简便。Deepseek-r1满血版在推理能力上表现出色,尤其擅长数学、代码和自然语言处理任务,使用过程中无卡顿,体验丝滑。结合Chatbox工具,用户可轻松掌控模型,提升工作效率。阿里云大模型服务平台百炼不仅速度快,还确保数据安全,值得信赖。
157860 24
深度评测 | 仅用3分钟,百炼调用满血版 Deepseek-r1 API,百万Token免费用,简直不要太爽。
|
5天前
|
人工智能 API 网络安全
用DeepSeek,就在阿里云!四种方式助您快速使用 DeepSeek-R1 满血版!更有内部实战指导!
DeepSeek自发布以来,凭借卓越的技术性能和开源策略迅速吸引了全球关注。DeepSeek-R1作为系列中的佼佼者,在多个基准测试中超越现有顶尖模型,展现了强大的推理能力。然而,由于其爆火及受到黑客攻击,官网使用受限,影响用户体验。为解决这一问题,阿里云提供了多种解决方案。
17034 37
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
PAI Model Gallery 支持云上一键部署 DeepSeek-V3、DeepSeek-R1 系列模型
DeepSeek 系列模型以其卓越性能在全球范围内备受瞩目,多次评测中表现优异,性能接近甚至超越国际顶尖闭源模型(如OpenAI的GPT-4、Claude-3.5-Sonnet等)。企业用户和开发者可使用 PAI 平台一键部署 DeepSeek 系列模型,实现 DeepSeek 系列模型与现有业务的高效融合。
|
5天前
|
并行计算 PyTorch 算法框架/工具
本地部署DeepSeek模型
要在本地部署DeepSeek模型,需准备Linux(推荐Ubuntu 20.04+)或兼容的Windows/macOS环境,配备NVIDIA GPU(建议RTX 3060+)。安装Python 3.8+、PyTorch/TensorFlow等依赖,并通过官方渠道下载模型文件。配置模型后,编写推理脚本进行测试,可选使用FastAPI服务化部署或Docker容器化。注意资源监控和许可协议。
1311 8
|
13天前
|
人工智能 搜索推荐 Docker
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
DeepSeek R1 + LobeChat + Ollama:快速本地部署模型,创建个性化 AI 助手
3417 117
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
|
8天前
|
人工智能 自然语言处理 API
DeepSeek全尺寸模型上线阿里云百炼!
阿里云百炼平台近日上线了DeepSeek-V3、DeepSeek-R1及其蒸馏版本等六款全尺寸AI模型,参数量达671B,提供高达100万免费tokens。这些模型在数学、代码、自然语言推理等任务上表现出色,支持灵活调用和经济高效的解决方案,助力开发者和企业加速创新与数字化转型。示例代码展示了如何通过API使用DeepSeek-R1模型进行推理,用户可轻松获取思考过程和最终答案。
|
5天前
|
人工智能 自然语言处理 程序员
如何在通义灵码里用上DeepSeek-V3 和 DeepSeek-R1 满血版671B模型?
除了 AI 程序员的重磅上线外,近期通义灵码能力再升级全新上线模型选择功能,目前已经支持 Qwen2.5、DeepSeek-V3 和 R1系列模型,用户可以在 VSCode 和 JetBrains 里搜索并下载最新通义灵码插件,在输入框里选择模型,即可轻松切换模型。
934 14

热门文章

最新文章