逼着自已再学一点,真想拿出零食看场电影玩玩游戏
先存张图,来自http://www.cnblogs.com/xuanye/archive/2010/02/25/1673682.html
一、类
1、声明
class A: pass a = A(); a.b = 1; print a.b
和js差不多,属性随时声明随时调用
2、初始化
class A: def __init__(self): self.b = 1 a = A(); print a.b
__init__类似构造函数,至少要一个参数self,类似于js的this,可以有多个参数
3、析构
__del__,但一般用不到,C#也是,靠自动回收就行
4、静态成员
类里面定义的,实例化后同名元素不改成静态成员
5、私有成员
没有访问修饰符,用__(两个下划线)可以限制直接访问,但通过调用时加下划线的方法仍可访问
6、类的方法
类里面的方法一定要至少带一个参数self
7、静态方法
静态成员可以直接定义直接用,静态方法不行,要加修饰符@staticmethod
class A: @staticmethod def a(): print "a" A.a()
8、方法重载、运算符重载
无方法重载,也无必要,后面的覆盖前面的
运算符重载使用__(两个下划线)
9、继承:在括号里填上父类即可。也可多重继承,逗号分开
class A: y = 1 class B(A): x = 2 print B.x,B.y
10、反射
比较常用的应该是id()、xxxattr()那几个吧
二、模块
用import导入模块,也可以加as作为别名
三、包
package,会判断目录下有没有__init__.py
像C#的引用第三方dll,也像js引入一些框架,功能强大,不要重复造轮子,基本日常工作上要用到的,都有人提供差不多的功能包,要善于运用