1 创建类
使用 class 关键字来创建一个类。
1 2 3 |
class ClassName: '类的注释' class_suite #类体 |
类的注释可由 ClassName.__doc__ 来查看。class_suite 由类的成员、方法、属性组成
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#-*- coding:utf-8 -*- class Student: '学生' def __init__(self, name,sex,num): self.name = name self.sex = sex self.num = num def displayInfo(self): print "Name:",self.name,",Sex:",self.sex,",Num:",self.num def __del__(sefl): class_name = self.__class__.__name__ print class_name,'Deleted' |
- __init__() 可以看作是类的构造函数。(其实类的构造函数是 __new__ ,它是一个类方法 ,在类的实例初始化之前调用。__init__ 实际是类的初始化函数)
- self 代表类的实例,类的方法必须有一个额外的形参,按惯例它的名称为self,但在调用时不必传入该参数。
- __del__() 是类的析构函数,在对象被销毁的时候调用。
2 类的实例
要创建一个类的实例,可以调用该一特殊的函数来完成。该函数的名称为类的名称,参数为该类的 __init__()的参数。
1 2 3 4 5 6 7 8 9 10 |
>>> from Student import Student >>> s = Student('A',1,1) >>> s.displayInfo() Name: A ,Sex: 1 ,Num: 1 >>> print s.name #属性 A >>> print s.__doc__ 学生 >>> print Student.__doc__ 学生 |
还可以使用下列函数来访问属性:
- getattr(obj,name[,default]) 访问对象的属性
- hasattr(obj,name) 检查是否存在一个属性
- setattr(obj,name,value) 设置一个改改。如果不存在,则创建之
- delattr(obj,name) 删除一个属性