- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
类和对象相关方法江苏电子职业学院Python物联网
01构造方法
类定义对象创建构造方法所有属于同一个类的对象都具有相同的特性和操作Python中类的构造函数是__init__(),一般用来为数据成员设置初值或进行其他必要的初始化工作,在创建对象时被自动调用和执行。若用户没有定义构造函数,Python将提供一个默认的构造函数用来进行必要的初始化工作。对象(实例)的数据成员一般是指在构造函数__init__()中定义的,定义和使用时必须以self作为前缀;类的数据成员是在类中所有方法之外定义的。在主程序中(或类的外部),实例(对象)属性属于实例(对象),只能通过对象名访问;而类属性属于类,可以通过类名或对象名都可以访问。
构造方法所有属于同一个类的对象都具有相同的特性和操作1.定义类属性;2.定义构造方法;3.定义对象属性;4.对象属性的访问;5.类属性的访问。classEmployee:empCount=0#类属性#定义构造方法def__init__(self,name,salary):#name,salary为对象属性self.name=nameself.salary=salaryEmployee.empCount+=1#类属性可以通过类名访问defdisplayCount(self):print(TotalEmployee:{}.format(Employee.empCount))defdisplayEmployee(self):print(Name:{},Salary:{}.format(self.name,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(self.name+canwalk.)
defeat(self):
print(self.name+caneat.)
zhang=Person(zhang)
zhang.sing()
zhang.walk=types
您可能关注的文档
- 逆向工程与快速成型技术应用 第4版 课件 项目 1 逆向工程技术.pptx
- 逆向工程与快速成型技术应用 第4版 课件 项目 3 数据处理及数模重构.pptx
- 逆向工程与快速成型技术应用 第4版 课件 项目 4 快速成型技术概述.pptx
- 逆向工程与快速成型技术应用 第4版 课件 项目 5 快速成型数据模型的前处理.pptx
- 逆向工程与快速成型技术应用 第4版 课件 项目 6 快速成型材料及后处理.pptx
- 逆向工程与快速成型技术应用 第4版 课件全套 1-1 掌握逆向工程技术的定义与实施流程--- 6-3 不同工艺成型件的后处理流程.pptx
- 逆向工程与快速成型技术应用 第4版 思考题及答案汇总 孙春华 项目1--6 逆向工程技术的认知---快速成型材料及后处理.docx
- 逆向工程与快速成型技术应用 第4版 思考题及答案 项目四 快速成型技术概述.docx
- 逆向工程与快速成型技术应用 第4版 思考题及答案 项目六 快速成型材料及后处理.docx
- 逆向工程与快速成型技术应用 第4版 思考题及答案 项目五 快速成型数据模型的前处理 .docx
最近下载
- 误吸窒息危险因子评分表在老年病房应用.doc VIP
- 2024-2025学年统编版(2024)小学道德与法治五年级下册(全册)教学设计及反思(附目录P110完整版).docx VIP
- 2024新能源集控系统智能化技术.pdf VIP
- 中国艺术摄影史.pdf VIP
- 2025年短剧出海营销白皮书-.pptx VIP
- 基础强化人教版9年级数学上册【二次函数】章节测试练习题(解析版).docx VIP
- 第9课《创新增才干》第1框《创新是引领发展的第一动力》 课件中职哲学与人生.ppt
- 《2013年建设工程工程量清单计价规范》GB50500-2013.pdf VIP
- (湘科2024版)科学一年级上册全册教学案.pdf VIP
- 环氧磨石地坪施工方案.doc VIP
文档评论(0)