python class的定义:
class Student(object):
def __init__(self):
self.name="paul"
self.score=54
要使用class,需要先创建该class的实例,通过类名加()实现:
bart=Student()
我们可以分别打印出类的实例和类,会发现它们的区别,实例(instance)会有一个内存地址指向class,当我们多次实例化同一个class,得到的内存地址是各不相同的。
数据封装
我们在init中可以定义各个变量,通过实例在class外部打印出来,这种获取数据的方式,因为函数定义在class外部,我们可以看到内部逻辑,但是如果我们将函数定义到class里面,在class外部通过实例调用class的方法,,可以得到同样的结果,并且我们不需要关注class内方法的具体实现。未封装代码:
class Student(object):
def __init__(self):
self.name="paul"
self.score=65
bart = Student()
def print_score(obj):
print('%s %s' % (obj.name, obj.score))
封装后的代码:
class Student(object):
def __init__(self):
self.name="paul"
self.score=76
def print_score(self):
print('%s %s' % (self.name, self.score))
bart = Student()
bart.print_score()
上面两段代码实现的效果是相同的,区别在于,封装后的代码,在class外部,我们直接调用class方法就可以,不用去关心class内部的具体实现逻辑。
网友评论