面向对象:
三大编程范式:
1面向过程编程 :把一个大的问题细分成很多小问题,然后第一步执行到最后一步
2函数式编程 : 通过对函数的创建和调用的方式
3面向对象编程: 通过创建一个有共同数据熟悉和函数属性的类来创建一个实例的对象出来
编程进化论:
1.编程最开始就是无组织无结构,从简单控制流中按步写指令
2.从上述的指令中提取重复代码块或逻辑,组织到一起。便实现了代码复用,
且代码由无结构走向了结构化
类:
把一类的事物的相同特征和动作整合到一起就是类,累是一个抽象的概念
对象:
就是基于类而创建的一个具体的事物(具体存在的)
也是特征和动作的整合到一块
什么叫实例化:
由类产生对象的过程叫实例化
属性:
类是描述一类事物中相同共有的特征和动作,而对象是类当中产生的一个个个体
是事物就有属性:
1.数据属性:就是变量(特征)
2.函数属性:就是函数,在面向对象中成为方法(动作)
类有数据属性和函数数据,而对象只有数据属性
关于实例出来的对象能访问到类的属性:
实例出来的对象其实只有数据属性,也就是变量的特征,本身是没有函数属性的。能访问到类里面的其他函数属性或者是变量是因为作用域的关系,在自身属性当中查找不到的时候会去上一层查找。
面向对象3大特征:
1.继承
2.多态
3.封装
class pep: """ 这个类是测试 """ def __init__(self, name, con): #定义特征 self.name = name self.con = con def test(self): print('%s都是亚洲人') def test1(self): print('很喜欢吃') p1 = pep('zheng', 'roubaozi') #生成对象
类属性增删改查
class school: addr = '中国' def __init__(self, name, type): self.name = name self.type = type s1 = school('九江学院', '公立') print(s1.addr) #修改类数据属性 school.addr = '九江' #增加类数据属性 school.type1 = '本科' del school.addr #删除类属性 def eat_food(self, food): print('%s的食堂%s很好吃'%(self.name, food)) # 增加类的函数属性 school.eat = eat_food
实例属性增删改查,实例只能对自身的数据进行这操作,无法操作函数属性
class school: addr = '中国' def __init__(self, name, type): self.name = name self.type = type def test(self): print('%s是一所本科学校'%self.name) s1 = school('zheng', '111') s1.age = 12 #直接.的方式进行增加,实例只能增加和修改自己的数据属性