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

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原则

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐为波

看着给就好了,学习写作有点累!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值