1、类的定义
(1)#括号中要加入父类,如果没有则默认为object,万类之源
class 类名(父类):
'类的文档字符串'
类体代码
若类什么都不做,则类只作为命名空间,仅作为一个容器。
(2)类的方法定义
#方法的第一个参数为self,它为调用对象本身,不一定要实参与它对应。
#方法只有在类被实例话之后才被调用
class 类名(object):
def 方法名(self):
执行操作
(3)实例
对象名=类名()
对象名.方法名()
(4)对象的初始化方法__init__(),类似构造函数
①当类被调用后,Python将创建实例对象
②创建完对象后,Python自动调用第一个方法
③实例对象作为方法的第一个参数(self)被传递进去,调用类创建实例对象时的参数都传给__init__()
(5)类属性
①类的数据属性为静态成员。
②在类创建后被使用
③可以由类中的方法来更新,也可以在主程序中更新。
④其仅仅为所定义的类的变量,类属性和实例无关,是所有实例共用的属性。在类中修改类属性需要使用类名。
class 类名(object):
类属性名=赋值
def 方法名(self):
类名.类属性名=修改值
例子:
class roster(object): 'student and teacher' tea_name=[] stu_name=[] def __init__(self,tea_name,stu_name): self.tea_name=tea_name self.stu_name=stu_name def add(self,add_name): self.stu_name.append(add_name) def remove(self,rem_name): self.stu_name.remove(rem_name) def print_all(self): print("Student:",self.stu_name) print("Teacher:",self.tea_name) ros=roster(['Niuyun','liyun'],['xiaohong','xiaoming']) ros.add('yingying') ros.print_all() ros.remove('xiaohong') ros.print_all()