- 1、本文档共186页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
9.1.2Python中的对象在Python中一切都是对象,包括前面讲过的整数对象、小数对象、字符串对象、函数对象、模块对象等。在Python的对象模型中,有两种对象:类对象和实例对象。类对象是在执行class语句时创建的,而实例对象是在调用类的时候创建的。每调用一次类,便创建一个实例对象。类对象只有一个,而实例对象可以有多个。类对象和每个实例对象都分别拥有自己的命名空间,在各自的命名空间内存储属于自己的数据。类对象类对象具有以下主要特点:Python执行class语句时创建一个类对象和一个变量即类名称,变量引用类对象。与def类似,class也是可执行语句。导入类模块时,class语句被执行,创建类对象。类中的赋值语句创建的变量是类的数据属性。与模块类似,类中的顶层赋值语句创建的变量才属于类对象。类的数据用“对象名.属性名“格式来访问。类中的def语句定义的函数是类的方法,用“对象名.方法名()“格式类访问。类的数据和方法由所有的实例对象共享。实例对象实例对象的特点如下:实例对象通过调用类对象来创建,就像调用函数一样来调用类对象。每个实例对象继承类对象的属性,获得自己的命名空间。实例对象拥有“私有“属性。类的方法函数的第一个参数默认为self,表示引用方法的对象实例。在方法中对self的属性赋值才会创建属于实例对象的属性。9.2定义和使用类9.2.1定义类类定义的基本格式如下:class类名:赋值语句赋值语句……def语句定义函数def语句定义函数……9.2.2使用类class语句执行后,类对象即被创建,进一步可以使用类对象来访问类的属性、创建实例对象。9.3类、对象的属性和方法在C++和Java语言中,对属性和方法的公有和私有都是通过访问修饰符来区分的,例如公有属性和私有属性分别使用访问修饰符public和private。但在Python中,由于没有这些访问修饰符,所以Python中属性和方法的公有和私有是通过标识符的约定来区分的。9.3.1属性1.根据所属的对象分为类属性和对象属性在类内,且在方法外定义的,无特别声明的变量称为类属性,或者称为静态属性,相当于Java语言中用static关键字声明的变量。类属性既可以通过类名来访问,又可以通过对象名来访问。对象属性要放在方法中声明,且有对象名(通常为self).前缀时,只能通过对象名访问。2.根据访问的权限分为公有属性和私有属性在C++和Java语言中,公有属性和私有属性分别使用访问修饰符public和private声明,而在Python中是通过标识符的约定来区分的。如果属性的标识符名称以两个下划线开头,则说明是私有属性,否则是公有属性。公有属性和前面例子中的访问一样,而私有属性则通过如下语法才能够访问:类(对象)名._类名__私有属性名其中,类名前是一个下划线,类名后是两个下划线。下面通过一个例子来理解私有属性和公有属性。9.3.2方法方法也可以分为公有方法和私有方法、类方法和对象方法。此外,还有静态方法。对象的方法:公有方法和私有方法定义公有方法无需特别声明,而定义私有方法时,方法名要以两个下划线开头。调用时,无论是公有方法还是私有方法,都可以通过类或者对象的方式调用。但是如果通过类的方式调用,则必须要传入一个对象;而调用私有方法必须通过以下方法调用:类(对象)名._类名__私有方法名()可以看到,这和访问私有属性非常相似,只是把私有属性名改成私有方法名。下面通过一个例子来理解公有方法和私有方法。类方法和静态方法定义类方法时可以通过@classmethod指令的方式定义或者通过使用内建函数classmethod的方式将一个普通的方法转为类方法。类似的,定义静态方法时可以通过@staticmethod指令的方式定义或者通过内建函数staticmethod的方式将一个普通的方法转为静态方法。调用时,无论是类方法还是静态方法,都可以通过类或者对象的方式调用。9.4类的组合一个类被定义后,目的就是要把它当成一个模块来使用,并把它嵌入到我们的代码中。有两种方式可以利用这些已定义好的类,其中一种就是这里介绍的组合,这种方式就是让不同的类混合并入其它的类,形成更加复杂、更符合需求的类,从而增加功能和提高代码重用性。9.5继承与派生9.5.1派生类的定义定义派生类的一般形式:class派生类
您可能关注的文档
- Ubuntu Linux操作系统实用教程-全套PPT课件.ppt
- 税务会计--原理、案例与实务全套PPT课件.pptx
- 公司内部审计_全套PPT课件.pptx
- 出纳实务:零基础 全图解 重实践全套PPT课件.pptx
- 建筑施工企业会计核算与纳税实务:零基础 全流程 重实——践全套PPT课件.pptx
- Java程序设计入门-全套PPT课件.pptx
- Java程序设计基础教程(慕课版)全套PPT课件.pptx
- 管理学原理与实践-全套PPT课件.pptx
- MySQL数据库应用实战教程(慕课版)全套PPT课件.pptx
- ASP.NET动态Web开发技术-全套PPT课件.pptx
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)