1.类的一般形式
创建类我们一般用class关键字来创建一个类,class后面跟类名字,可以自定义,
最后以冒号结尾,
class ClassName:
'''类的说明'''
类的内容
类的内容可以写类的全局变量,方法等
class ren(object):
'''this is a new class'''
name='mein'
sex='woman'
def hello(self):
print ('hello world!')
a=ren()
print(type(a))
print(a.name)
print(a.sex)
a.age=10
print(a.age)
a.hello()
object默认是所有类的父类,不写默认继承object
a=ren(),就是把类ren实例化
打印a的类型就是一个ren的类
2.类的构造器
_init_构造函数,在生成对象时调用,由于类可以起到模板的作用,
因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。
通过定义一个特殊的_init_方法,在创建实例的时候,就把name,score等属性绑上去;
class Student(object):
def __init__(self,name,score):
self.name=name;
self.score=score;
s=Student('liuwen',29)
print(s.name)
print(s.score)
注意到_init_方法的第一个参数永远是self,表示创建的实例本身,因此,
在_init_方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身;
有了_init_方法,在创建实例的时候,就不能传入空的参数了,必须传入与_init_方法
匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去;
self:表示实例变量;
3.类的继承
你现在有一个现有的A类,现在需要写一个B类,
但是B类是A类的特殊版,我们可以使用继承,
B类继承A类时,B类会自动获得A类的所有属性和方法,
A类称为父类,B类称为子类,子类除了继承父类的所有
属性和方法,还可以自定义自己的属性和方法。
继承类的格式:
class A(父类):
...
Python的类支持多继承,
class A:
......
class B:
......
class C(A,B): #继承类A和B
多继承其实需要在父类的位置,直接写多个父类就可以了,
然后用','分开,
注意事项:
1.在继承中类的构造(__init__方法)不会自动调用,它需要
在子类的构造中亲自调用;
2.python总是先找子类的方法,如果子类没有找到,
才回去父类中查找;
pass语句,是为了保持程序结构的完整性;
pass不做任何事情,一般用做占位语句;