在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去
通过__init__的方法,我们是在给实例绑定属性
那么类属性呢,其实就像这样
class Student(object):
name = ‘Student’
这里是给Student类本身绑定了一个属性
接下来看代码的对比
class Student(object):
name='student'
print(Student.name)
print(Student().name)
结果是:
这里的Student()其实是指一个实例,把代码改为
print(Student.name)
a=Student()
print(a.name)
结果是一样的
那么把代码换成__init__后
class Student(object):
def __init__(self):
self.name='student'
print(Student.name)
print(Student().name)
备注:这里的
def __init__(self):
self.name='student'
等价于
def __init__(self,name='student'):
self.name=name
结果是报错了,原因是
类型对象“Student”没有属性“name”
如果删去print(Student.name),单独的留下print(Student().name),结果是