Python 学习笔记 - 5
来源:互联网 发布:淘宝开饰品店 编辑:程序博客网 时间:2024/05/23 22:47
今天从25章开始(P652)学习 Python 的 OOP
用代码看起来更直观:
class Class_A: def __init__(self,value): # 构造函数 self.data = value def __add__(self,other): # 运算符重载 return Class_A(self.data +other) def __str__(self): # 运算符重载 return '[Class_A : %s]'% self.data def do_something(self,percent): # 方法 self.data *= (1.00 + percent)class Class_B(Class_A): # 继承(多基类继承!) def __init__(self,value): Class_A.__init__(self,value) # 显式实现 def do_something(self,percent): # 覆盖基类方法 self.data *= (1.00 - percent)class Class_C(Class_B): def __init__(self,value): self.data = value def __str__(self): # 覆盖基类运算符重载 return '[Class_C] : %s]' % self.dataC_A = Class_A(100)C_B = Class_B(200)C_C = Class_C(300)C_A.do_something(0.10) # C_A.data = 100 * 1.10 = 110print(C_A)C_A_Add = C_A + 10.00 # 运算符重载,返回新的 Class_A , C_A.data = 110 +10 = 120print(C_A_Add)C_B.do_something(0.20) # C_B.data = 200 * 0.80 = 160print(C_B)C_C.do_something(0.30) # C_C.data = 300 * 0.70 = 210print(C_C)
>>> [Class_A : 110.00000000000001][Class_A : 120.00000000000001][Class_A : 160.0][Class_C] : 210.0]>>>
一、Python 中的类可以多基类继承
二、由于Python是动态语言,所以类的属性、方法可以在运行时动态装配
三、不用解释,Python 天生支持多态
四、Python 不需要 Interface ,每个对象都是自描述的,不需要画蛇添足的再弄出个 Interface 出来
五、Python 同样不需要抽象类......
六、进行企业开发可能用到的东西
1、GUI: PyQt、wxPython
2、Web:Django、TurboGears、Pylons、Web2Py、Zope
3、数据库:
4、ORM: SQLObject、SQLAlchemyOODB:ZODB
ERDB:MySQL、PostgreSQL、SQLite
小结:
除了很多概念,C#的经验在 Python 中没有多少帮助,反而十几年前用VFP的很多东西回想起来了......
下午从第28章开始
0 0
- Python学习笔记(5)
- python学习笔记5
- python学习笔记5
- Python 学习笔记 - 5
- Python 学习笔记 5
- python 学习笔记5
- Python学习笔记5
- python 学习笔记5
- Python 学习笔记(5)
- Python学习笔记5
- Python 学习笔记5
- python学习笔记5
- Python学习笔记--5
- python 学习笔记5
- Python学习笔记 5
- python 学习笔记5------序列
- Python学习笔记(5)Timer
- python学习笔记5--decimal
- 路由器和交换机有什么区别
- SVN版本冲突解决详解 .
- AMD处理器 不能安装Windows XP Mode 解决办法,安装Windows6.1-KB2519949
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)
- 查看自己的电脑是32位还是64位的方法
- Python 学习笔记 - 5
- 如何使用libsvm进行分类
- 设计模式------------抽象工厂
- 修改织梦默认模板路径
- 设置UITableView刷新某一行的代码
- 做技术的出路在哪?
- 【Leetcode】Pascal's Triangle II
- Ehcache与terracotta集群配置
- vim跳转到指定行