跳到主要内容

🚀 01-Python 语言特性

核心目标666

打破“只会写脚本”的局限,从计算机底层运行机制出发,构建 AI 工程师必备的编程底层思维,理解 Python 在算力时代的统治力。

核心目标

掌握 Python 区别于 C/C++ 的核心语言特性,精准避开开发中的类型陷阱,为后续在边缘计算与大模型部署中的性能优化打下基础。


一、 计算机语言分类深度解析​

1. 编译型 vs 解释型 (运行机制)​

特性编译型语言 (如 C, Go, Rust)解释型语言 (如 Python, JS, PHP)
代表年份C (1970)Python (1990)
资源消耗极低 (适合 128KB 级别的嵌入式)较高 (适合 1GB 内存以上的架构)
转换过程使用 gcc 等编译器生成 .exe 或 .out使用 python 解释器逐行实时翻译
执行效率极高,接近机器指令运行中等,存在解释开销
源码保护交付的是二进制文件,难以反编译直接交付源码,可见性高

2. 类型系统:静态/动态 vs 强/弱​

概念纠正

很多教材会将 Python 称为弱类型,其实是不准确的。

  • Python 是动态强类型:不需要声明类型(动态),但不同类型不能乱算(强类型)。
  • C 语言是静态弱类型:需要声明类型(静态),但允许某些不安全的隐式转换(弱类型)。
关键纠正:Python 是弱类型吗?

绝对不是! * Python 是【动态强类型】:变量类型灵活(动态),但严禁不同类型隐式乱算(强类型)。

  • C 语言是【静态弱类型】:类型预先定死(静态),但允许危险的隐式指针转换(弱类型)。

💎 代码对比:标签 vs 盒子​

1. 动态类型 (Dynamic Typing) — 以 Python 为例

在 Python 中,变量更像是一个“标签”,它可以随时贴在不同类型的对象上。

# 灵活:变量不需要声明类型,可以随时改变指向
x = 10 # 此时 x 是 int 类型
print(type(x))

x = "Hello" # 此时 x 变成了 str 类型,运行完全正常
print(type(x))

2. 静态类型 (Static Typing) — 以 C / Java 为例

// 严格:变量必须先声明类型,且类型不可更改
int x = 10;

x = "Hello"; // ❌ 编译阶段报错:无法将 const char* 赋值给 int 类型的变量
📌 点击展开:一张表看懂 Python 与 C/JS 的本质区别
类型象限代表语言典型行为
动态强类型Python1 + "2" -> ❌ 报错
动态弱类型JavaScript1 + "2" -> ✅ "12"
静态强类型Java / Go编译时严格检查类型
静态弱类型C / C++允许危险的隐式转换
  • Python 的哲学:语法规则相对宽松(动态特性),目标是为了降低门槛,快速推广。
  • 生态参考:TIOBE 编程语言排行榜 —— Python 长期稳居第一,证明了其生态的强大。

二、 编程思想的演进​

1. 面向过程 (Procedure Oriented)​

  • 代表语言:C 语言。
  • 核心工具:结构体 (struct)。
  • 逻辑:将问题拆解为步骤,按照 1, 2, 3 的顺序执行。

2. 面向对象 (Object Oriented)​

  • 代表语言:Python, Java, Go。
  • 核心思想:万物皆对象。
  • 四大特性:抽象、封装、继承、多态。

对象模型公式:​

类 (Class) ==> 实例 (Object) 对象.属性 (它是谁?) 对象.方法() (它能做什么?)


三、 开发环境补充知识​

1. 什么是 bin 目录?​

在 Windows 或 Linux 安装包中,经常看到 bin 文件夹。

  • 含义:Binary (二进制)。
  • 作用:存放可执行文件(如 python.exe)。

2. C 语言工具链​

如果您在 Windows 上开发嵌入式或 C++ 扩展,通常需要安装 MinGW-w64,它是 GCC 在 Windows 上的移植版本,为 Python 提供底层编译支持。


🛠️ 2W1H 总结​

  • What:Python 是一门动态、强类型的面向对象解释型语言。
  • Why:开发效率高、跨平台、拥有海量 AI 库。
  • How:安装环境 ➔ 配置 PATH ➔ 编写第一个 .py 文件。
📲 扫码联系
微信二维码微信咨询
关注公众号关注公众号