




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类和对象相关方法江苏电子职业学院Python物联网01构造方法类定义对象创建构造方法所有属于同一个类的对象都具有相同的特性和操作Python中类的构造函数是__init__(),一般用来为数据成员设置初值或进行其他必要的初始化工作,在创建对象时被自动调用和执行。若用户没有定义构造函数,Python将提供一个默认的构造函数用来进行必要的初始化工作。对象(实例)的数据成员一般是指在构造函数__init__()中定义的,定义和使用时必须以self作为前缀;类的数据成员是在类中所有方法之外定义的。在主程序中(或类的外部),实例(对象)属性属于实例(对象),只能通过对象名访问;而类属性属于类,可以通过类名或对象名都可以访问。构造方法所有属于同一个类的对象都具有相同的特性和操作1.定义类属性;2.定义构造方法;3.定义对象属性;4.对象属性的访问;5.类属性的访问。classEmployee:empCount=0#类属性#定义构造方法def__init__(self,name,salary):#name,salary为对象属性=nameself.salary=salaryEmployee.empCount+=1#类属性可以通过类名访问defdisplayCount(self):print("TotalEmployee:{}".format(Employee.empCount))defdisplayEmployee(self):print("Name:{},Salary:{}".format(,self.salary))emp1=Employee("Zara",2000)emp1.displayCount()#对象访问对象属性emp1.displayEmployee()print(emp1.empCount)#对象可以访问类属性02动态添加成员类定义对象创建动态添加成员所有属于同一个类的对象都具有相同的特性和操作在Python中比较特殊的是,可以动态地为类和对象增加成员,这一点是和很多面向对象程序设计语言不同的,也是Python动态类型特点的一种重要体现。俗称混入(mixin)机制。这一特性在大型项目开发中会非常方便和实用,系统可扩展性强。例如系统中的所有用户分类非常复杂,不同用户组具有不同的行为和权限,并且可能会经常改变。这时候我们可以独立地定义一些行为,然后根据需要来为不同的用户设置相应的行为能力。还可以通过del删除成员。delemp1.setLevel;Employee.typename。
举例动态添加成员所有属于同一个类的对象都具有相同的特性和操作importtypes
fromtestimportEmployee
Employee.typename="全职"#新增类属性
#定义方法setLevel
defsetLevel(self,s):
Employee.typename="兼职"#方法中修改类属性
print("该员工是:"+s+","+Employee.typename)
emp1=Employee("Zara",2000)
#利用types.MethodType,将方法setLevel绑定到对象emp1中;
#第一个参数是要绑定的方法,第二个参数是要绑定的对象,第三个参数是类名(可省略)
emp1.setLevel=types.MethodType(setLevel,emp1)
emp1.setLevel("销售员")课题练习所有属于同一个类的对象都具有相同的特性和操作定义Person类,构造方法初始化name属性,定义sing()方法,输出XXX会唱歌。类外定义方法walk和eat;通过添加成员,将上述两方法添加到对象中,并调用测试。importtypes
classPerson(object):
def__init__(self,name):
self.name=name
defsing(self):
print(self.name+'cansing.')
defwalk(self):
print(+'canwalk.')
defeat(self):
print(+"caneat.")
zhang=Person("zhang")
zhang.sing()
zhang.walk=types.MethodType(walk,zhang)
zhang.walk()03析构函数类定义对象创建析构函数所有属于同一个类的对象都具有相同的特性和操作Python中类的析构函数是__del__(),一般用来释放对象占用的资源,在Python删除对象和收回对象空间时被自动调用和执行。如果用户没有编写析构函数,Python将提供一个默认的析构函数进行必要的清理工作。classPerson(object):
def__init__(self,name):
self.name=name
defsing(self):
print(self.name+'cansing.')
def__del__(self):
print("对象删除或者回收时自动调用我")
zhang=Person("zhang")
zhang.sing()
delzhangzhangcansing.对象删除或者回收时自动调用我类定义对象创建课堂练习所有属于同一个类的对象都具有相同的特性和操作定义一个计算机类My
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火锅餐饮行业2025年火锅餐饮市场竞争力研究报告
- 智能家居系统集成项目在2025年智能家居租赁市场的应用可行性分析
- 老龄化趋势下2025年老年长期照护服务模式与社区养老机构服务模式创新报告
- 食品添加剂在食品色泽改善中的安全性评估与合规性分析报告
- 2025年元宇宙社交平台界面设计创新与实践案例分析报告
- 医疗行业大数据隐私保护在2025年医疗数据安全风险评估与控制策略中的应用报告
- 有机食品市场细分领域投资机会与风险评估报告
- 2025年医药企业研发外包(CRO)与临床试验国际化合作报告001
- 2025年国际教育交流项目学生跨文化心理调适与心理健康研究报告
- 2025年北京市燕山区七下英语期中达标检测试题含答案
- 2024年山东省夏季普通高中学业水平合格考试历史试卷
- 园艺论文开题报告范文
- 数据质量管理实施手册
- 林业工程开工申请
- 清华大学《大学物理》各章节习题库及答案合集
- 《设备找正找平》课件
- 2024年度小红书商业MCN机构经营洞察报告
- 宠物医院服务行业可行性分析报告
- 输液港的输液与维护
- 口腔科护理人文关怀
- 高等教育信息化建设方案
评论
0/150
提交评论