第一章:Python入门——从零开始,先搞清楚这玩意儿是啥
说实话,每次带新人入行,我都被问同一个问题:「Python到底难不难?」
我的回答永远是:Python可能是你学过的最友好的编程语言。但友好归友好,该下的功夫一点不能少。今天咱们就从根儿上把Python捋一遍。
1.1 Python发展史:一个「意外」的诞生
Python诞生于1989年的圣诞节。对的,你没看错——一个程序员在假期里写出来的东西。
作者叫Guido van Rossum,荷兰人。他当时在CWI(荷兰数学与计算机科学研究所)工作,觉得ABC语言虽然好教但不够实用,于是决定自己搞一个。名字怎么来的?因为他喜欢看BBC的喜剧《Monty Python's Flying Circus》。
几个关键时间点,我列个表方便你记:
| 年份 | 事件 |
|---|---|
| 1989 | Guido开始写Python解释器 |
| 1991 | 第一个公开版本(0.9.0)发布 |
| 1994 | Python 1.0 正式发布 |
| 2000 | Python 2.0 发布,引入垃圾回收 |
| 2008 | Python 3.0 发布,不兼容2.x |
| 2020 | Python 2 正式退役,全面进入3.x时代 |
我个人最深的感触:Python 2到3的过渡期,我经历过。那时候公司老项目全是2.7,新项目想用3.x,两边代码还不能混着跑。嗯,那段时间改bug改到怀疑人生。所以现在看到新人还在用Python 2,我都会说一句:赶紧换3.x,别给自己挖坑。
1.2 Python应用场景:这玩意儿到底能干啥?
你想想看,一个语言活了30多年还没过气,肯定有两把刷子。Python的应用场景,我给它分了四大块:
- Web开发:Django、Flask这些框架,写后端API快得很。我第一个商业项目就是用Flask搭的,两周上线。
- 数据分析 & 人工智能:这是Python的「王牌领域」。Pandas、NumPy、Scikit-learn、TensorFlow……说白了,搞AI的几乎人手一个Python环境。
- 自动化运维 & 脚本:写个脚本批量改文件名、爬个网页数据、自动发邮件——Python十几行代码搞定。
- 科学计算 & 教育:很多大学把Python作为入门语言,因为语法接近自然语言,好教好学。
避坑指南:我曾经接过一个项目,客户非要用Python写一个实时性要求极高的嵌入式系统。结果呢?性能根本扛不住。Python适合「开发效率优先」的场景,如果你要搞底层硬件驱动或者毫秒级响应的系统,还是C/C++更靠谱。
1.3 Python开发环境搭建:工欲善其事,必先利其器
好,理论说完了,咱们动手。搭建Python环境其实就三步,我一步步带你走。
第一步:下载Python
去官网 python.org,找到Downloads,选你系统对应的版本。我建议下载3.9或3.10,太新的版本有些第三方库还没适配好,太旧的又缺新特性。
注意:Windows用户安装时,记得勾选「Add Python to PATH」。我见过太多人忘了这一步,结果在命令行里打python提示找不到命令。别问我怎么知道的……
第二步:验证安装
打开终端(Windows用cmd或PowerShell,Mac/Linux用terminal),输入:
python --version
如果看到类似 Python 3.9.7 的输出,说明安装成功。如果报错,检查一下PATH有没有配好。
第三步:选个趁手的编辑器
新手我推荐两个:
- VS Code:免费、插件多、社区活跃。装个Python插件就能用。
- PyCharm:专业Python IDE,功能全但有点重。社区版免费够用。
我个人习惯用VS Code,轻量,写脚本快。但做大型项目时我会切到PyCharm,调试功能确实强。
1.4 本章知识体系总览
下面这张图,是我自己画的。它把第一章的核心知识点串在了一起,方便你对照复习。
1.5 第一个Python程序:Hello World
环境搭好了,总得跑个程序试试吧。打开你的编辑器,新建一个文件叫 hello.py,输入:
print("Hello, Python!")
然后在终端里运行:
python hello.py
看到输出了 Hello, Python! 了吗?恭喜,你已经正式踏入Python的世界了。
一个小建议:别小看这个Hello World。我每次学新语言,第一件事就是跑通它。这能验证你的环境、编辑器、文件路径全都没问题。后面遇到奇怪的问题,至少能排除「环境没配好」这个原因。
1.6 本章小结
这一章我们干了三件事:
- 了解了Python从1989年到现在的发展脉络
- 知道了Python能用在哪些地方,不能用在哪些地方
- 亲手搭好了开发环境,跑通了第一个程序
说白了,就是先搞清楚「这玩意儿是什么、能干嘛、怎么装」。后面咱们就要开始写真正的代码了。