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、数据库:

OODB:ZODB

ERDB:MySQL、PostgreSQL、SQLite

4、ORM: SQLObject、SQLAlchemy


小结:

 除了很多概念,C#的经验在 Python 中没有多少帮助,反而十几年前用VFP的很多东西回想起来了......

下午从第28章开始


0 0
原创粉丝点击