2026/1/19 11:41:51
网站建设
项目流程
西安网站建设流程,长沙网站建设长沙,信息流推广什么意思,徐州市中心做网站的公司招聘一、官方文档的检索方式
二、官方文档的阅读和使用
三、类的关注点
1.类实例化所需的参数
实例化类#xff08;类名()#xff09;的本质是调用类的构造逻辑#xff0c;核心参数由__init__方法定义#xff08;极少数场景需关注__new__#xff0c;但__new__参数通常与__…一、官方文档的检索方式二、官方文档的阅读和使用三、类的关注点1.类实例化所需的参数实例化类类名()的本质是调用类的构造逻辑核心参数由__init__方法定义极少数场景需关注__new__但__new__参数通常与__init__一致。1核心规则实例化时传入的参数会被直接传递给__init__方法参数的类型、个数、默认值完全由__init__决定。2常见参数类型参数类型示例说明必选参数def __init__(self, name):无默认值实例化时必须传如Student(张三)。默认参数def __init__(self, age18):有默认值实例化时可选传如Student(张三)用默认 18Student(李四, 20)覆盖。可变位置参数def __init__(self, *args):接收任意个数的位置参数打包为元组如Student(张三, 18, 高一)。可变关键字参数def __init__(self, **kwargs):接收任意个数的关键字参数打包为字典如Student(name张三, age18)。关键字 - only 参数def __init__(self, *, grade):必须以关键字形式传递如Student(张三, grade高一)不能传位置参数。2.普通方法所需要的函数在面向对象编程中普通方法通常指 “实例方法” 是类中最核心的函数类型它依附于类的实例、能访问 / 修改实例状态其设计和实现遵循函数的基本规则但又和类的特性深度绑定。普通方法实例方法是定义在类内部、第一个参数固定为self 的函数它的核心作用是实现实例的 “行为”—— 操作实例的属性、完成特定业务逻辑只能通过类的实例调用而非直接通过类调用。它和普通函数的核心区别必须绑定实例self参数由解释器自动传递指向调用该方法的实例可直接访问实例属性self.xxx和类属性self.__class__.xxx/ 类名.xxx可调用类内的其他普通方法、类方法、静态方法。普通方法实例方法的核心构成所需要素一个完整的普通方法本质是 “带self参数的函数”其所需的核心要素和普通函数一致但需适配类的特性。要素说明必选的self参数第一个参数必须是self命名约定也可写其他名字但解释器默认传实例用于绑定调用方法的实例通过它可访问 / 修改实例属性。业务参数可选除self外可根据业务需求定义任意参数和普通函数的参数规则完全一致1. 必选参数无默认值调用时必须传2. 默认参数有默认值调用时可选传3. 可变位置参数*args接收任意位置参数4. 可变关键字参数**kwargs接收任意关键字参数5. 关键字 - only 参数*, param必须以关键字形式传递。函数体逻辑实现方法的核心功能可1. 读取 / 修改self上的实例属性2. 调用类的其他方法如self.other_method()3. 调用类属性self.school4. 执行任意业务逻辑计算、IO、判断等。返回值可选用return返回结果无return则默认返回None返回值类型根据业务需求设计如数值、字符串、对象、布尔值等。3.普通方法的返回值普通方法的返回值和普通函数的返回值规则完全一致核心差异仅在于返回值通常与实例的状态self绑定的属性强相关服务于实例的 “行为结果”。核心规则用 return [值] 显式指定返回结果无 return 或 return 后无值 → 方法默认返回 None可返回任意 Python 对象数值、字符串、列表、字典、自身实例、甚至另一个类 / 函数返回值的设计需匹配方法的业务目标比如 “查询类方法” 返回具体数据“操作类方法” 可返回None或自身实例。返回值类型说明典型场景无返回值None方法仅执行操作如修改实例属性、打印、IO 操作无需返回结果修改实例的成绩、更新实例的信息、打印实例详情基础数据类型int/str/bool/float返回单个计算结果、状态标识、文本信息计算平均分float、判断是否及格bool、获取姓名str复合数据类型list/dict/tuple返回批量数据、结构化结果返回实例的所有成绩dict、返回成绩排名list、返回姓名 年龄tuple类实例自身 / 其他类返回self实现链式调用或返回关联的其他实例链式调用self、返回总分更高的同学实例、返回学生的班主任实例特殊类型None/异常无有效结果时返回None异常通过raise抛出而非返回查询不存在的科目成绩返回None参数非法时raise ValueError不返回值四、绘图的理解绘图的本质是将 “抽象的图形逻辑 / 数据” 转化为 “可视化的像素 / 矢量图形” 的过程核心是 “分层实现”—— 从用户能理解的 “画一条折线、一个柱状图”到计算机能执行的 “操作像素、渲染路径”整个流程分为三层且底层库是实现可视化的核心支撑。分层作用示例应用层业务层用户编写的业务逻辑定义 “画什么”如基于数据画折线图、设置颜色 / 标题plt.plot(x, y, colorred)抽象绘图层中层封装高层图形逻辑将用户指令转化为 “底层能识别的图形描述”如路径、画笔、颜色Matplotlib/Seaborn/Plotly底层渲染 / 图像层执行 “真正的绘制”将图形描述转化为像素 / 矢量数据处理图像格式 / 硬件显示Agg/Cairo/Skia、libpng/libjpeg、OpenGL1.绘图的核心是 “分层转换”用户的高层需求 → 抽象绘图层的图形描述 → 底层库的像素 / 渲染执行2.底层库是绘图的 “引擎”负责真正的渲染 / 图像编码多为 C/C 编写Python通过绑定调用3.调用方式分两种间接调用主流上层库Matplotlib/PIL封装底层逻辑用户写简洁代码直接调用定制化通过 pycairo/PyOpenGL 等绑定手动操作底层 API4.选择原则优先用上层库提升开发效率仅在定制化 / 性能极致要求时直接调用底层。浙大疏锦行