版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
塑造万象万物之模-
类与对象基础TheModelofAllThings-ClassandObjectFoundation塑造万象-新的升级任务ShapingEverything-Anewupgradedmission世间万物皆可为'模'(类与对象)。⻓⽼的启示:塑造万象—智水长老掌握塑造之法,汝便能创造万千'⽔利模型',应对复杂局⾯
。升级任务进度TheprogressoftheUpgradetask完成本任务,成为【塑模家】!当前任务任务:万物之模-类与对象基础进行中>>>任务:模型骨⾁-类的属性与⽅法任务:⻘出于蓝-类的继承任务:通灵之语-魔术⽅法后续任务待解锁本次任务:万物之模-类与对象基础
Thistask:TheModelofAllThings-ClassandObjectFoundation任务⽬标理解类与对象的概念和关系学习在Python中定义类的⽅法掌握__init__⽅法和self关键字的使⽤学会创建类的对象(
实例化)掌握访问对象属性的⽅法01第一节类与对象:构建⽔利模型的蓝图与实体ClassesandObjects:Theblueprintandentityforbuildingwaterconservancymodels什么是类(Class)?WhatisaClass?Python中的类class
Dam:"""⼤坝类,作为创建具体⼤坝实例的蓝图"""#类的内容将定义⼤坝的属性和⽅法pass在Python中,
类是—种⽤户⾃定义的数据类型。类的概念类是创建对象的蓝图或模板。它定义了—类事物共同的属性(特征)和⽅法(⾏为)。什么是对象(Object)?WhatisanObject?Python中的对象对象的概念对象是类的—个具体实例。
它是根据类的蓝图创建出来的真实存在的"东⻄"。#假设已经定义了Dam类class
Dam:pass#创建Dam类的实例(对象)three_gorges=Dam()#
三峡⼤坝对象
xiaolangdi=Dam()#⼩浪底⼤坝对象#three_gorges和xiaolangdi是两个不同的对象#它们都基于Dam类的蓝图创建1每个对象都拥有类所定义的属性和⽅法,但每个对象的属性值可以不同。2对象也被称为实例(Instance)。类与对象的关系Therelationshipbetweenclassesandobjects类是抽象的模板,对象是具体的实例。类⽐理解饼⼲模具/类饼⼲1/对象1制作/实例化饼⼲2/对象2制作/实例化饼⼲3/对象3制作/实例化02第二节定义类:绘制你的'⼤坝蓝图'Defineclass:Drawyour'DamBlueprint'Python中定义类的基本语法ThebasicsyntaxfordefiningclassesinPython组成部分class:定义类的关键字。ClassName:
类的名称,按照惯例,类名通常使⽤驼峰命名法(CamelCase),即每个单词的⾸字⺟⼤写,例如ReservoirModel。冒号::类头部的结束标志。类体:缩进的代码块,
包含类的属性和⽅法。classClassName:#类属性
(可选,所有实例共享)#
...#构造⽅法
(初始化⽅法)def
__init__(self,parameters):#实例属性
(每个实例独有)#self.attribute
=
value#
...pass
#通常在这⾥进⾏属性初始化#其他⽅法
(定义对象的⾏为)def
method_name(self,parameters):#
⽅法体#
...pass基本结构⼀个最简单的类:Dam蓝图初稿Oneofthesimplestclasses:ThefirstdraftofDamBlueprintclass
Dam:pass最简单的类定义#pass
语句表示—个空的代码块#说明这个类暂时没有任何内容_init_构造⽅法The__init__constructormethod__init__的作用:设置对象的初始状态(即初始化实例属性)。class
Dam:#构造⽅法def
__init__(self,name,dam_type,
height):"""初始化⼤坝对象的属性。参数
:name
(str):⼤坝的名称。dam_type
(str):⼤坝的类型。height
(float):⼤坝的⾼度。"""#将传⼊的参数值赋给实例的属性#
self.属性名
=参数值self.name=
nameself.dam_type=dam_typeself.height=
height#可以设置—些默认的初始属性self.current_water_level=0.0
)初始化⽅法示例self关键字:指向'⼤坝'本身The"self"keyword:pointstothe"dam"itselfself关键字self是Python类⽅法中的第一个参数的约定名称(虽然理论上可以⽤其他名字,但强烈建议遵循约定)。它代表类的实例(对象)本身。在类的⽅法内部,通过self可以访问实例的属性和
调⽤实例的其他⽅法。self关键字:调⽤流程图解selfkeyword:Diagramofthecallingprocessself作用机制用户代码用户代码my_dam(对象)my_dam(对象)Dam类Dam类内部将my_dam绑定为self参数my_dam.display_info()Dam.display_info(my_dam)输出⼤坝信息self关键字:调⽤流程图解selfkeyword:Diagramofthecallingprocessself作用机制用户代码用户代码my_dam(对象)my_dam(对象)Dam类Dam类内部将my_dam绑定为self参数my_dam.display_info()Dam.display_info(my_dam)输出⼤坝信息——确保每个对象⽅法都能访问并操作调⽤它的特定对象的属性03第三节创建对象(实例化):建造具体的'⼤坝'Createanobject(instantiation):Buildaspecific"dam"如何根据类创建对象Howtocreateobjectsbasedonclasses实例化过程1.Python创建—个Dam类的新实例。2.⾃动调⽤该实例的__init__⽅法,并将dam1这个实例本身作为self参数传递,
同时将"三⻔峡⼤坝","重⼒坝",106.0分别传递给name,dam_type,height。3.dam1实例现在有了四个属性:name,dam_type,height和current_water_level。对象的创建(实例化)创建对象(也称为实例化)
的过程就像根据蓝图建造—个实体。#
语法object_name=ClassName(arguments)创建对象的语法#假设我们已经定义了上⾯的Dam类class
Dam:def
__init__(self,name,dam_type,
height):self.name=
nameself.dam_type=dam_typeself.height=
heightself.current_water_level=0.0#创建Dam类的对象(实例)dam1=Dam("三⻔峡⼤坝",
"重⼒坝",
106.0)dam2=Dam("丹江⼝⼤坝",
"重⼒坝",
176.6)实例化过程图解DiagramoftheinstantiationprocessDam类/蓝图name='三⻔峡⼤坝'dam_type='重⼒坝'height=106.0dam1对象/三⻔峡⼤坝实例化dam2对象/丹江⼝⼤坝实例化属性属性属性name='丹江⼝⼤坝'dam_type='重⼒坝'height=176.6属性属性属性对象的属性访问Accesstothepropertiesoftheobject#继续使⽤前⾯的dam1和dam2对象print(f"{dam1.name}的类型是
:
{dam1.dam_type}")print(f"{dam2.name}的⾼度是
:{dam2.height}⽶
")print(f"{dam1.name}当前⽔位
:{dam1.current_water_level}⽶
")访问对象的属性创建对象后,可以使⽤点号(.)操作符来访问对象的属性。注意事项每个对象都维护着⾃⼰的—套属性值。修改dam1的属性不会影响dam2的属性。这就是⾯向对象的重要特性:封装。每个对象封装了⾃⼰的状态(属性)和⾏为(⽅法)。语法
:object_name.attribute_name#也可以修改对象的属性值dam1.current_water_level=50.5print(f"{dam1.name}更新后当前⽔位
:{dam1.current_water_level}⽶
")总结:万物之模初现,塑造万象开启!Summary:Theinitialformofallthingsemerges,andtheshapingofallphenomenabegins!“
甚好!汝已初步掌握'万物之模'的奥秘。知晓了类(Class)如同宏伟蓝图,对象(Object)便是依图⽽建的实体。__init__如同开⼯奠基,self则是那实体⾃身的指代。今⽇,汝已成功为'⼤坝'这—事物
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工现场临时用电漏电保护器测试方法制定方法选择原则制定
- 0至3岁儿童发育指南
- 急性胰腺炎预防措施培训
- 消化内科消化道溃疡出血护理要点
- 精神分裂症患者自伤预防策略
- 花木兰戏曲介绍
- 肌萎缩性侧索硬化康复治疗方案
- 汽车座椅骨架毕业设计
- 高毒力碳青霉烯耐药肺炎克雷伯菌
- 药物不良反应监测与管理指南
- SA8000-2026社会责任管理体系内审检查表完整内容
- 初中必背古诗文注音版(2023新课标)
- 艾梅乙反歧视培训
- AI基础知识培训课件教学
- 2025年中小学体育教师招聘考试学科专业基础知识考试卷库(650题)附答案
- 水厂污泥排放管理办法
- 学堂在线 唐宋词鉴赏 期末考试答案
- 兵棋测试题及答案
- 主体工程报价单-模板定稿
- T/CCMA 0065-2018全断面隧道掘进机检验与验收通用规范
- 电厂电力监控系统网络安全防护管理制度
评论
0/150
提交评论