版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目
录9-1类与对象简介9-2类的属性9-3类的方法9-4访问权限9-5项目实现9-6继承9-7运算符重载9-1类与对象简介面向对象编程是一种编程范式,它使用“对象”来设计应用程序和计算机程序。
在Python中,面向对象编程不仅提供了一种组织代码的方式,还提供了一种思考问题和解决方案的方法。
通过使用类和对象,开发者可以更好地模拟现实世界中的实体和概念,从而创建出更加模块化和可维护的代码。9-1类与对象简介-类定义格式Python中的类是一种面向对象编程的核心概念,它是创建对象的蓝图,用来描述具有相同的属性和方法的对象的集合。类定义的格式如下:classclassName:类属性类方法注意:类名后面有个冒号;类属性和方法要向右边缩进。9-1类与对象简介-类定义举例例9-1定义学生类。classStudent:
#定义了一个属性grade='2024'
#定义了一个方法defprintName(self):print(self.grade)CYBERPUNK9-1类与对象简介-对象定义举例在定义类之后,可以通过调用类来创建该类的实例,即对象。例如基于例9-1
Student类创建对象st,语句如下:st=Student()目
录9-1类与对象简介9-2类的属性9-3类的方法9-4访问权限9-5项目实现9-6继承9-7运算符重载9-2类的属性
Python类的属性是类的一部分,
用于存储与类实例相关的数据。
Python类的属性可以分为两大类:
类属性和实例属性。9-2类的属性-类属性
这些属性属于类本身,而不是类的某个特定实例。类属性通常在类定义中直接赋值,或者在类的方法中赋值。类属性对于所有的类实例都是共享的,即所有实例访问的是同一个属性值。例如:classStudent:
#定义了一个属性,该属性年级grade是类属性
grade='2024'9-2类的属性-实例属性说明
这些属性属于类的每个独立实例。它们通常在类的构造函数__init__中通过self关键字来定义和初始化。每个实例都有自己的实例属性,不同实例之间的实例属性互不影响。例如:classStudent:grade="2024"#类属性def__init__(self,name,age):
=name#实例属性self.age=age#实例属性9-2类的属性Python还提供了一些特殊的方法来管理属性构造函数__init__用于初始化实例属性;析构函数__del__用于在对象被销毁时执行清理工作。通过这些方法,可以控制属性的创建和销毁过程。目
录9-1类与对象简介9-2类的属性9-3类的方法9-4访问权限9-5项目实现9-6继承9-7运算符重载9-3类的方法类的方法有三种类型:实例方法类方法静态方法9-3类的方法-实例方法最常见的方法类型,需要一个self参数来代表类的实例。实例方法可以访问和修改实例的属性
9-3类的方法-实例方法例9-2
通过实例方法访问实例属性。classStudent:def__init__(self,name):=name
#实例方法defsay_hello(self):print('大家好,我的名字是:',)p=Student('小明')p.say_hello()#输出:大家好,我的名字是:小明9-3类的方法-类方法类方法需要一个cls参数来代表类本身。类方法不能访问实例的属性,但可以访问类的属性。类方法使用@classmethod装饰器声明,并且第一个参数通常是cls,代表类本身。9-3类的方法-类方法例9-3通过类方法访问类属性。classMyClass:#类属性count=0@classmethod
defincrement_count(cls):#类方法cls.count+=1@classmethod
defget_count(cls):#类方法returncls.count9-3类的方法-静态方法例9-4定义类的静态方法classMyClass:
@staticmethoddefadd_numbers(x,y):#定义类的静态方法returnx+y属于类但不需要访问类或实例状态的方法。使用@staticmethod装饰器声明,不接收特殊的第一个参数(如self或cls),因此不能访问类的实例或类本身的属性。静态方法通常用于执行与类相关的操作,但这些操作不需要修改类或其实例的状态。9-3类的方法-特殊方法
Python还定义了一系列特殊方法,也称为魔术方法
这些方法有双下划线前缀和后缀。
例如:
__init__
是构造方法
__str__
用于定义对象的字符串表示9-3类的方法-特殊方法例9-5构造方法__init__方法使用。classMyClass:
def__init__(self,param1,param2):self.attribute1=param1self.attribute2=param2#创建类的实例my_instance=MyClass("value1","value2")print(my_instance.attribute1)#输出"value1"print(my_instance.attribute2)#输出"value2"说明:构造方法__init__方法,它在创建类的实例时被自动调用。
构造方法用于初始化类的属性和执行其他设置。
9-3类的方法-特殊方法例9-6__str__方法使用classPerson:def__init__(self,name,age):=nameself.age=age
def__str__(self):returnf"Person(name={},age={self.age})"p=P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年温州榕园学校(温州大学附属学校) 面向全国引进教育人才3人备考题库含答案详解(新)
- 2026广西贵港桂平市社步镇卫生院招聘编外工作人员的1人备考题库附答案详解(预热题)
- 2026中华书局大众图书出版中心招聘营销编辑1人备考题库附答案详解(综合卷)
- 2026中国标准化研究院人力资源部人力资源管理岗企业编制职工招聘1人备考题库附答案详解(基础题)
- 2026辽宁铁岭市教育局校园招聘143人备考题库及答案详解(有一套)
- 2026陕西西安市西北工业大学材料学院材料微观组织计算与合金设计团队招聘1人备考题库及答案详解(基础+提升)
- 2026中国科学院广州地球化学研究所党务综合管理岗招聘1人备考题库及答案详解(夺冠系列)
- 2026贵州乌江能源黔南抽水蓄能有限责任公司招聘15人备考题库附答案详解(能力提升)
- 2026年淮南市消防救援局政府专职消防员招聘49人备考题库含答案详解(模拟题)
- 2026山东青岛市胶州市卫生健康局所属胶州市中医医院校园招聘20人备考题库及一套答案详解
- 数字孪生在城市景观规划与设计中的应用模式及2025年创新案例报告
- 农业种植园区安全作业指导书
- 部编版五年级下册语文各单元测试卷及答案(全册 含期中期末试卷)
- 绳锯切割方案
- 气管插管与简易呼吸气囊应用与操作指南【课件】
- 第十四章 整式的乘法与因式分解(压轴题专练)(原卷版)
- 合格女朋友测试题及答案
- 统编版语文四下第四单元《习作:我的动物朋友》课件
- DB34-T 4730-2024 电梯维保单位信用评价导则
- 2025年青海青江实业集团有限公司招聘笔试参考题库含答案解析
- 各种标本的采集方法及注意事项
评论
0/150
提交评论