面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。

类class   实例(instence)=对象(object)  数据 操作数据的方法 属性(propoty)

 

实例的属性可以通过2个方式绑定(先找实例的属性,没有的话再用类的,再没有报错)

1、通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性强制绑上去:

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

2、直接绑:

class Student(object):
    pass

bart=Student()
bart.name='yy'

 

类的属性:

class Student(object):
     name = 'Student'

 

 

数据的封装:

直接在Student类的内部定义访问数据的函数 self.name

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

    def print_score(self):
        print('%s: %s' % (self.name, self.score))

 

访问限制:

把属性的名称前加上两个下划线__ ,私有

class Student(object):

    def __init__(self, name, score):
        self.__name = name
        self.__score = score

    def print_score(self):
        print('%s: %s' % (self.__name, self.__score))

 

判断一个变量是否是某个类型可以用isinstance()判断:

class Student(object):
    pass

bart=Student()
a=[1,2,3]

print(isinstance(a,list))
print(isinstance(bart,Student))

True
True

 

多态:通过继承,拥有不止一种数据类型