类的继承
#!/usr/bin/python
# -*- coding: UTF-8 -*-
classEmployee:
'所有员工的基类'
empCount=0
def__init__(self,name,salary):
self.name=name
self.salary=salary
Employee.empCount+=1
defdisplayCount(self):
print"Total Employee %d"%Employee.empCount
defdisplayEmployee(self):
print"Name : ",self.name,", Salary: ",self.salary
"创建Employee类的第一个对象"
emp1=Employee("Zara",2000)
1.empCount变量是一个类变量,它的值将在这个类的所有实例之间共享。你可以在内部类或外部类使用Employee.empCount访问
2.self代表类的实例,self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
3. __init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法
定义子类
classChild(Parent):#定义子类
括号中为父类名。
支持方法重写,运算符重载
def__add__(self,other):
#运算符重载
returnVector(self.a+other.a,self.b+other.b)
v1=Vector(2,10)
v2=Vector(5,-2)
printv1+v2结果输出为:Vector(7,8)
Python内置类属性
·__dict__ :类的属性(包含一个字典,由类的数据属性组成)
·__doc__ :类的文档字符串
·__name__:类名
·__module__:类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__等于mymod)
·__bases__ :类的所有父类构成元素(包含了一个由所有父类组成的元组)
Python对象回收(垃圾销毁)
引用计数器:当对象被创建时,就创建了一个引用计数,当这个对象不再需要时,也就是说,这个对象的引用计数变为0时,它被垃圾回收。但是回收不是"立即"的,由解释器在适当的时机,将垃圾对象占用的内存空间回收。
手动销毁对象:
del pt1
类的属性与方法
私有属性或方法:(__name)两个下划线开头,声明该属性或方法为私有,不能在类的外部被使用或直接访问。
类的方法:在类的内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数