Python学习随笔---面向对象编程
2018-03-16 21:00
351 查看
1.在创建实例的时候,可以用‘__init__’方法把必要的属性强制填写进去。
__init__方法的第一个参数永远是self,表示的是实例本身。
2.在Python中,获取对象信息:
• type():判断对象类型,(基本类型,函数,类)
•isinstance():判断基本类型,class的类型,继承关系
• dir():获取一个对象的所有属性和方法,同时,配合getattr(),setarrt(),hasattr(),我们可以直接操作一个对象的状态
3.由于动态语言的灵活性,正常情况下,在Python中定义了一个class的实例后,可以给该实例绑定任何属性和方法。
当我们想要限制实例的属性时,可以用‘__slots__’这个特殊表示来限制实例能添加的属性。但需要注意的是,使用这个特殊
变量限制的只是当前类,对于继承这个类的子类没有影响。
4.Python内置的装饰器@property负责把一个方法变成属性调用,使得Python不用像java那样在实体类中定义属性的get,set
方法,具体用法如下图:
补充:@property单独存在表示只读,@property和@***.setter同时存在表示读写,@property,@***.setter,@***.deleter
同时存在表示读写删。
5.Mixln是Python中一种常见的设计。常在设计类的继承关系是,主线都是单一继承下来的,但如果需要额外的功能,可以通过
Python的多重继承实现,让一个类除了继承它的主线父类之外,还同时继承其它的类,这种设计称之为Mixln。
(注:本文仅为个人学习笔记)
__init__方法的第一个参数永远是self,表示的是实例本身。
2.在Python中,获取对象信息:
• type():判断对象类型,(基本类型,函数,类)
•isinstance():判断基本类型,class的类型,继承关系
• dir():获取一个对象的所有属性和方法,同时,配合getattr(),setarrt(),hasattr(),我们可以直接操作一个对象的状态
3.由于动态语言的灵活性,正常情况下,在Python中定义了一个class的实例后,可以给该实例绑定任何属性和方法。
当我们想要限制实例的属性时,可以用‘__slots__’这个特殊表示来限制实例能添加的属性。但需要注意的是,使用这个特殊
变量限制的只是当前类,对于继承这个类的子类没有影响。
4.Python内置的装饰器@property负责把一个方法变成属性调用,使得Python不用像java那样在实体类中定义属性的get,set
方法,具体用法如下图:
补充:@property单独存在表示只读,@property和@***.setter同时存在表示读写,@property,@***.setter,@***.deleter
同时存在表示读写删。
5.Mixln是Python中一种常见的设计。常在设计类的继承关系是,主线都是单一继承下来的,但如果需要额外的功能,可以通过
Python的多重继承实现,让一个类除了继承它的主线父类之外,还同时继承其它的类,这种设计称之为Mixln。
(注:本文仅为个人学习笔记)
相关文章推荐
- Python学习随笔---Python简介
- python学习[2]_Python中面向对象编程1
- python学习随笔(1):读取与写入csv文件
- Python学习期间的随笔
- 深度学习(DL)与卷积神经网络(CNN)学习随笔-05-基于Python的LeNet之CNN
- 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR
- Python学习 (五 面向对象编程)
- 慕课网学习Python进阶教程,包括(函数式编程、模块、面向对象编程、类的继承、定制类)
- Python学习札记(三十三) 面向对象编程 Object Oriented Program 4
- Python学习随笔---Python基础一
- Python学习札记(三十四) 面向对象编程 Object Oriented Program 5
- python 学习之 --面向对象编程
- Python学习14:面向对象编程(三)
- Python学习札记(三十五) 面向对象编程 Object Oriented Program 6
- 【Python学习】python学习手册--第二十八章 面向对象编程细节
- python-学习笔记1-面向对象编程
- 『Python学习』python 核心编程——面向对象编程学习笔记
- 2017.6.27 python学习 面向对象编程
- 【Python学习笔记】面向对象编程
- 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-04-基于Python的LeNet之MLP