news 2026/7/4 3:18:25

Python面向对象-第三篇 Python 核心语法与鸭子类型思想-001篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python面向对象-第三篇 Python 核心语法与鸭子类型思想-001篇

文章目录

  • 第三篇 Python核心语法与鸭子类型思想
    • 第6章 函数:代码复用的基础与鸭子类型的初体验
      • 6.1 什么是函数
        • 6.1.1 生活中的类比
        • 6.1.2 编程中的定义
      • 6.2 函数的基础语法与分类
        • 6.2.1 无参函数:固定逻辑的封装
        • 6.2.2 带参函数:通用逻辑的载体
        • 6.2.3 有返回值的函数:把结果还给你
        • 6.2.4 默认值参数:大多数情况用默认值
        • 6.2.5 不定长参数:数量不固定也能处理
          • (1)`*参数名`:接收任意多个普通参数
          • (2)`**参数名`:接收任意多个键值对参数
        • 6.2.6 动手练习:计算三门课成绩
      • 6.3 变量作用域:变量的有效范围
        • 6.3.1 全局变量和局部变量
      • 6.4 函数背后的鸭子类型
        • 6.4.1 核心思想:参数不挑类型,能用就行
        • 6.4.2 更通用的例子:打印长度
        • 6.4.3 鸭子类型给函数带来的好处
      • 6.5 本章小结
    • 第7章 类与对象:面向对象与鸭子类型的核心舞台
      • 7.1 万物皆对象:从生活中理解对象
        • 7.1.1 身边的对象
        • 7.1.2 从对象到类:提取共同特征
      • 7.2 类的定义与使用
        • 7.2.1 基础语法
        • 7.2.2 self是什么?
        • 7.2.3 完整示例:人类
        • 7.2.4 创建和使用对象
      • 7.3 模块:把代码分到不同文件
        • 7.3.1 导入模块的两种方式
        • 7.3.2 `__name__`特殊属性
        • 7.3.3 动手练习:客户积分回馈
      • 7.4 鸭子类型:面向对象的灵魂
        • 7.4.1 生活中的例子:支付方式
        • 7.4.2 代码实现:不用继承也能多态
        • 7.4.3 再举一例:动物叫
        • 7.4.4 鸭子类型的工程价值
      • 7.5 本章小结
    • 第8章 文件操作:数据持久化与类文件对象的鸭子约定
      • 8.1 文件的基本概念
        • 8.1.1 文本文件和二进制文件
        • 8.1.2 文件操作的基本流程
      • 8.2 文件的打开与关闭
        • 8.2.1 基础语法
        • 8.2.2 常用打开模式
        • 8.2.3 避免打开异常:用异常处理
      • 8.3 读文件的三种方式
        • 8.3.1 `read()`:读取全部内容
        • 8.3.2 `readline()`:读取一行
        • 8.3.3 `readlines()`:读取所有行到列表
        • 8.3.4 更推荐:for循环逐行读取
      • 8.4 写文件的两种方式
        • 8.4.1 `write()`:写入一个字符串
        • 8.4.2 `writelines()`:写入一个序列
      • 8.5 文件指针:控制读写位置
        • 8.5.1 `tell()`:查看当前指针位置
        • 8.5.2 `seek()`:移动指针位置
      • 8.6 其他常用函数
      • 8.7 综合案例:学生成绩文件
      • 8.8 鸭子类型的延伸:类文件对象
        • 8.8.1 什么是类文件对象
        • 8.8.2 例子:内存里的文件StringIO
        • 8.8.3 工程意义:通用的处理函数
      • 8.9 本章小结
    • 全篇总结:鸭子类型贯穿始终的Python

第三篇 Python核心语法与鸭子类型思想

很多初学者会问:鸭子类型是不是一个很难的高级知识点?其实不是。从你写下第一行Python代码开始,你就已经在使用鸭子类型了。

Python的灵活、简洁、好用,本质上都源于「鸭子类型」的设计思想:不纠结一个东西「是什么类型」,只关心它「能不能做这件事」。就像判断一只动物是不是鸭子,不用查它的物种标签,只要它走路像鸭子、叫声像鸭子,我们就可以把它当鸭子来用。

本篇我们会沿着「函数 → 类与对象 → 文件操作」的入门路径,先把每一个基础语法学扎实,再带你看懂每一个语法背后的鸭子类型逻辑。你会发现:Python的灵活不是凭空来的,而是一以贯之的设计思想。


第6章 函数:代码复用的基础与鸭子类型的初体验

函数是编程中最基础的「代码封装工具」:把重复使用的逻辑打包起来,起个名字,下次用的时候直接喊名字就行。
这一章我们先从零基础学会函数的所有基础用法,再带你理解:为什么Python的函数不用声明参数类型?这份灵活的背后,就是鸭子类型的第一次登场。

6.1 什么是函数

6.1.1 生活中的类比

你可以把函数想象成一台「自动榨汁机」:

  • 你放进去水果(输入数据)
  • 机器按固定流程榨汁(执行代码)
  • 最后流出果汁(输出结果)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 3:17:40

我们是倍利福,一家专做机器人方向的猎头公司

这是我们在CSDN发布的第一篇内容。我们是倍利福猎头公司,长期专注机器人与智能制造领域的中高端人才招聘。倍利福猎头公司很多企业第一次接触机器人猎头时,都会问一个问题:机器人行业的人才,到底难招在哪里? 我们的理解…

作者头像 李华
网站建设 2026/7/4 3:16:28

Cortex-R52学习:存储系统

文章目录1. 存储器系统整体架构1.1 存储资源组成1.1.1 内核私有存储(单Core独立选配)1.1.2 内核私有AXI4主接口(每核独立)1.1.3 全集群共享AXIS接口(128bit)1.2 核心工作规则2. TCM紧耦合存储器2.1 容量配置…

作者头像 李华
网站建设 2026/7/4 3:16:24

单目操作符 ++、--、+、- 几分钟搞懂

啥是单目操作符?简单说,只需要一个操作数的运算符就是单目操作符。比如 -5 里的负号,i 里的自增。今天只说四个最常用的:、--、、-。一、正号 和负号 -这个最简单,就是数学里的正负号。int a 10; int b -a; // b …

作者头像 李华
网站建设 2026/7/4 3:15:14

OpenCV案例——微笑检测

一、项目概述项目采用分层检测逻辑,先识别画面中的人脸区域,再只在人脸范围内检测微笑,有效规避背景干扰,提升识别准确率。程序运行后会调用本地摄像头,绿色框标记人脸,蓝色框标记微笑区域,检测…

作者头像 李华
网站建设 2026/7/4 3:15:11

React Server Components 边界:不是所有组件都该搬到服务端

React Server Components 边界:不是所有组件都该搬到服务端 React Server Components 带来了新的架构选择。服务端组件可以减少客户端包体、直接访问后端资源,也能让一些页面更快。但它不是"把所有组件搬到服务端"的按钮。交互状态、浏览器 AP…

作者头像 李华
网站建设 2026/7/4 3:14:45

从 0 学习 Alibaba Open Code Review(三):Git Diff 解析流程

前言 上一篇文章中,从源码角度找到了 ocr review 的命令入口。 当用户执行: ocr review程序会从 cmd/opencodereview/main.go 进入命令分发逻辑,然后进入: runReview(args[1:])接着会调用: parseReviewFlags(args)解析…

作者头像 李华