面向对象编程首先不是直接解决问题而是解决一类问题
通过创建类来模拟建立一通用模型
class People(object): #定义类
def __init__(self,name,age): #静态属性属性值
self.name = name #属性 = 属性值
self.age = age
p1 = People("张三","18") #构建对象
p2 = People("李四","20") #同构建对象
print(p1.name) #输出对象名字
print(p1.age) #输出对象年龄
另一种写法
该写法中类中只有一个对象
class People(object): #定义类
def __init__(self): #静态属性属性值
self.name = "张三" #属性 = 属性值
self.age = 18
p1 = People() #构建对象
print(p1.name) #输出对象名字
print(p1.age) #输出对象年龄
封装
类中属性进行私有化
class People(object): #定义类
def __init__(self,name,age): #静态属性属性值
self.__name = name #属性前加__表示属性私有化
self.__age = age
p1 = People("张三","18") #构建对象 封装后属性值锁死 不能更改
如若更改需要添加方法
class People(object): #定义类
def __init__(self,name,age): #静态属性属性值
self.__name = name #属性前加__表示属性私有化
self.__age = age
def get_name(self): #获取name值
return self.__name
def set_name(self,name): #更改name值
self.__name = name
property 方法
class People(object): #定义类
def __init__(self,name,age): #静态属性属性值
self.__name = name #属性前加__表示属性私有化
self.__age = age
def get_name(self): #获取name值
return self.__name
def set_name(self,name): #更改name值
self.__name = name
name = property(get_name,set_name)
继承
class People(object): #定义类
def __init__(self,name,age): #静态属性属性值
self.name = name #属性 = 属性值
self.age = age
class Student(People): #括号中表示继承People
def __init__(self,id):
self.id = id