python---面向对象,class定义、构造函数、析构函数、基本继承
2017-11-19 15:10
561 查看
python—面向对象,class定义、构造函数、析构函数、基本继承
进阶课 面向对象
1.class的基本定义
2.构造,析构函数
注意:在class类里面函数的参数第一个值必须是self,意思是指向对象本身的
3.面向对象编程,是面向对象,而不是面向类。
4.对于新手,一开始就进行类设计是傻傻的类设计。
5.有趣的面向对象。
6.先实现,再优化,过早优化是万恶之源
7.kiss原则
进阶课 面向对象
1.class的基本定义
2.构造,析构函数
注意:在class类里面函数的参数第一个值必须是self,意思是指向对象本身的
1.class的基本定义 >>> class test(object): ... a = 1#a被称为test类的属性 ... def func1(self):#func1被称为test类的方法 ... pass ... >>> >>> t = test()#实例化 >>> print t.a#调用属性 1 >>> print t.func1()#调用方法 None >>> # 我们所有的class都是object的派生类
2.构造,析构函数 1)构造函数(__init__称为class的构造函数与构造方法,一般做为t实例化设置初始值而存在的。即一般是为了初始化对象时将必须要用到的属性、方法做一些定义,而存在的) >>> class test(object): ... def __init__(self,arg1,arg2):#构造函数 ... self.arg1 = arg1#对arg1进行初始的赋值,因此把arg1引入到test类的内部中 ... self.arg2 = arg2#对arg2进行初始的赋值,因此把arg2引入到test类的内部中 ... def func2(self): ... return self.arg1,self.arg2 ... >>> t = test(11,55)#11,55会引入arg1与arg2中 >>> print t.func2() (11, 55) >>> # 我们所有的class都是object的派生类 析构函数(主要是销毁/删除临时的变量,主要对那些长期占用内存的临时变量销毁) >>> class test(object): ... def __init__(self,arg1,arg2):#构造函数 ... self.arg1 = arg1 ... self.arg2 = arg2 ... def func2(self): ... return self.arg1,self.arg2 ... def __del__(self):#析构函数 ... del self.arg1 ... del self.arg2 ... >>> t = test(11,55) >>> print t.func2() (11, 55) >>> print t.__del__()#销毁/删除临时的变量 None >>> print t.func2() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 6, in func2 AttributeError: 'test' object has no attribute 'arg1' >>> # 我们所有的class都是object的派生类
3.面向对象编程,是面向对象,而不是面向类。
>>> class d(): ... def a(): ... pass ... >>>
4.对于新手,一开始就进行类设计是傻傻的类设计。
python学习思路: 1)伪代码 小程序-->直接写流程 大项目--->先分析结构
5.有趣的面向对象。
1)继承 >>> class base(object): ... def __init__(self,name): ... self.name = name#加self会被全局调用 ... >>> class b(base):#b类继承了base类的功能使用__init__方法 ... def get_name(self): ... return self.name ... >>> new_class = b("lilei") >>> print new_class.get_name() lilei >>>
6.先实现,再优化,过早优化是万恶之源
7.kiss原则
相关文章推荐
- python里一个class可以定义多个构造函数
- Python第九天 面向对象 类定义 类的属性 类的方法 内部类 垃圾回收机制 类的继承 装饰器
- java4android(5)面向对象、类的定义、生成对象的方法、使用对象的方法、生成多个对象、构造函数super()、函数重载、static、继承
- 2016/3/21 面向对象: ①定义类 ②实例化对象 ③$this关键字 ④构造函数 ⑤析构函数 ⑥封装 ⑦继承
- 从零开始学_JavaScript_系列(64)——class的继承(1)基本概念、继承构造函数和class
- 继承和动态内存分配——需要为继承类定义 显式析构函数、复制构造函数和赋值运算符
- Python面向对象——基本继承
- php面向对象之构造函数和析构函数
- C++ 构造函数和析构函数的继承
- PHP面向对象-构造函数和析构函数
- 面向对象的三个基本特征是:封装、继承、多态
- python之面向对象之继承
- 【Python】python-一个class继承的小case
- [python相关]多类继承中子类默认继承哪个父类的构造函数__init__
- 基础备忘:多重继承的构造函数和析构函数
- php面向对象-构造函数和析构函数详解
- Java语言中的面向对象特性:封装、继承、多态,面向对象的基本思想(总结得不错)
- 一道关于C++ 的面试题目(继承、构造函数以及析构函数)
- Java类如果定义了构造函数 用 class.newInstance()会报异常java.lang.InstantiationException
- 知识点——派生类生成过程——单继承的构造函数和析构函数