博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之面向对象
阅读量:4567 次
发布时间:2019-06-08

本文共 1057 字,大约阅读时间需要 3 分钟。

python即一门动态的面向对象的语句,面向对象的几个主要概念:

类:就是抽象的模板,封装了类属性和方法(通过类的属性和方法可以完成对其所有的操作)。

实例:就是类创造的具体对象,分配内存。

继承:最原始的是object,创造一个类可以从父类继承来也可以原始创造(object),子类继承了父类所有的属性和方法,同时又有了新的特性。

多重继承:既然类是某种抽象的模板,分类都是从最原始的基类到徒子徒孙的子类的纵向继承关系,但如果采用横向的多重继承则可以快速的生成子类而不需要分成很多级,方法是在(基本父类,横向类1MixIn,横向类1MixIn),多重继承的横向继承都加了后缀MixIn.

多态:子类的实例既有子类的特性又有父类的特性,如果父类和子类有相同的方法,此时父类的方法被隐藏只体现子类的方法,判断实例属于什么类型可以用type(实例)或者isinstance(实例,类型);要判断实例有那些属性可以用dir(对象);getattr()/hasattr()/setattr()分别用来得到、判断是否有、设置对象的属性。

私有和特殊属性:__XX__两边有2个下划线的属性和方法表示特殊的属性和方法;__XX表示私有变量外部不能随意更改,但是实例._类名._变量也还是能够更改的。

限制实例的属性:__slots__=(“允许的属性1”,“允许的属性2”.。)即不允许动态的添加属性

@property:广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性

定制类:__str__ :不用print就能返回打印信息(调试方便)

    __repr__:返回调试信息(地址,程序开发方便);

      _len__ :方法我们也知道是为了能让class作用于len()函数

           __iter__ :一个类能够被用于for ... in循环

          __getitem__ 向类别一样索引 切片

          __getattr__ 动态的属性

         __call__:可以直接对实例进行调用,既然某些对象能像函数一样进行调用,如何判断对象是否能被调用呢?用callable(类的实例对象)

枚举类:类实例每个常量都是class的一个唯一实例。Python提供了Enum类来实现这个功能

元类: 很复杂。type()函数既可以返回一个对象的类型,又可以动态地创建出新的类型

 

转载于:https://www.cnblogs.com/jieruishu/p/6906214.html

你可能感兴趣的文章
在 OC 中调用 Swift 代码
查看>>
Android仿腾讯应用宝 应用市场,下载界面, 有了进展button
查看>>
安卓|五大逆向软件下载
查看>>
5 OK6410裸机调试(不用Jlink)
查看>>
“模板”学习笔记(5)-----编译器在处理函数模板的时候都干了啥
查看>>
教你用shell写CGI程序
查看>>
窗口 对话框 Pop Dialog 示例
查看>>
ubuntu(centos) server安装vmware tools
查看>>
数据结构之最大不重复串
查看>>
为什么要配置sdk-tools/platform-toools?
查看>>
自己动手开发更好用的markdown编辑器-07(扩展语法)
查看>>
maven dependency:tree中反斜杠的含义
查看>>
队列的循环队列
查看>>
程序中的日期格式
查看>>
大众点评CAT错误总结以及解决思路
查看>>
从0开始学爬虫3之xpath的介绍和使用
查看>>
Shell成长之路
查看>>
vim下正则表达式的非贪婪匹配
查看>>
一个python的计算熵(entropy)的函数
查看>>
spring源码学习——spring整体架构和设计理念
查看>>