Python 面向对象
创建类:用class语句来创建一个新类,class之后为类的名称并以冒号结尾
class ClassName:
'类的帮助信息' #类文档字符串
class_suite #类体
self代表类的实例,而非类
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
class Test:
def prt(self): print(self) print(self.__class__) t=Test() t.prt()
创建实例对象
"创建 Employee 类的第一个对象"
emp1 = Employee("Zara", 2000)
"创建 Employee 类的第二个对象"
emp2 = Employee("Manni", 5000)
访问属性:
emp1.displayEmployee()
emp2.displayEmployee()
print " Total Employee %d" % Employee.empCount
Python内置类属性
dict: 类的属性(包含一个字典,由类的数据属性组成)
doc:类的文档字符串
name: 类名
module: 类定义所在的模块(类的全名是'main.className',如果类位于一个导入模块mymod中,那么className.module等于 mymod)
bases: 类的所有父类构成元素(包含了一个由所有父类组成的元组)
python对象销毁(垃圾回收)
a=40 # 创建对象 <40>
b=a # 增加引用, <40>的计数
c=[b] # 增加引用. <40>的计数
del a # 减少引用 <40>的计数
b=100 # 减少引用 <40>的计数
c[0]=-1 # 减少引用 <40>的计数
类的继承
class派生类名(基类名) ...
基础重载方法
init ( self [,args...] )构造函数 简单的调用方法:obj = className(args)
del( self )析构方法, 删除一个对象 简单的调用方法 :del obj
repr( self )转化为供解释器读取的形式 简单的调用方法 :repr(obj)
str( self )用于将值转化为适于人阅读的形式 简单的调用方法 :str(obj)
cmp ( self, x )对象比较 简单的调用方法 :cmp(obj, x)