您的位置:首页 > 编程语言 > Python开发

python---面向对象,class定义、构造函数、析构函数、基本继承

2017-11-19 15:10 561 查看
python—面向对象,class定义、构造函数、析构函数、基本继承

进阶课 面向对象

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原则
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐