python class

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内部的具体实现逻辑。

你可能感兴趣的:(python class)