编程两大范式
面向过程:核心是'过程'二字
优点:复杂的问题简单化,进而流程化
缺点:扩展性弱
面向对象:核心是'对象'二字
对象就是将程序'整合',对象是'容器',用来盛放数据和功能的
优点:扩展性强,维护性强
缺点:复杂度高
类
类的定义:
类也是‘容器’,该容器用来存放同类对象所共有的数据与功能
类的语法:
class + 驼峰体
类的定义过程
1、立即执行类体代码
2、产生一个类的名称空间,把类体中的属性和函数名都扔到一个大字典里
3、把类的名称空间绑定给 dict 查询: 类名 + dict
类的调用过程
1、创造一个空对象
2、自动触发类内的init函数的运行,将空对象当作第一个参数自动传入
3、返回初始化完的对象
定制对象自己独有的属性
class Student:
def __init__(self, name, age, gender):
self.name = name
self.age = age,
self.gender = gender
stu = Student('qq',18,'male')
属性访问
属性查找顺序:先从对象的字典中找,再从类的字典中找
类的属性:
数据属性
类的数据类型是共享给所有对象用的,大家的访问地址都一样
函数属性
类体中的函数可以和普通函数一样使用(1、对象是一个绑定方法,绑定给谁就是谁来调用,谁来调用
就会将“谁”本身当作第一个参数自动传入
(2、遵循函数的参数规则,有几个参数就传几个参数**