面向对象编程——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
多态:通过继承,拥有不止一种数据类型