定义类
#定义类是通过class关键字class Student(object): pass
创建实例
#通过类名+()实现的obj = Student() obj.name = '绑定属性' print(obj.name) #绑定属性
可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__
方法,在创建实例的时候,就把name
,age
等属性绑上去:
class Student(object): def __init__(self, name, age): self.name = name self.age= age
注意到__init__
方法的第一个参数永远是self
,表示创建的实例本身,因此,在__init__
方法内部,就可以把各种属性绑定到self
,因为self
就指向创建的实例本身。
有了__init__
方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__
方法匹配的参数,但self
不需要传,Python解释器自己会把实例变量传进去:
a = Student('Bart Simpson', 59)print(a.age) #59
数据封装
class Student(object): def __init__(self, name, age): self.name = name self.age= age
#要定义一个方法,除了第一个参数是self外,其他和普通函数一样。 #要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入
def study(self, course_name): print('%s正在学习%s.' % (self.name, course_name)) obj = Student('小明',12)
a = obj.study('Python3') # 调用类的study方法 self 不需要传
print(a) # 小明正在学习Python3.