第一章:遇见代码世界——小明的新发现
第一章:遇见代码世界——小明的新发现
一个令人头疼的周一早晨
周一的阳光透过教室的窗户洒进来,本该是充满希望的新一周开始。然而,对于北京市第三中学初二的学生李明来说,这个早晨简直是一场噩梦。
上周五放学前,班主任王老师布置了一项任务:让全班同学收集整理自己小组这一年来的活动照片,下周一要做班级展示。李明被推选为小组长,负责汇总工作。他信心满满地告诉大家:“没问题,包在我身上!”
然而,当李明打开自己那个名为“照片”的文件夹时,他彻底傻眼了。
“这都是什么乱七八糟的!”李明盯着屏幕,声音里带着绝望。
文件夹里有247张照片,文件名全是IMG_0001、IMG_0002这样的系统默认命名。照片散落在各个地方——有的是同学发邮件来的,有的是从QQ群下载的,有的是用手机拍的,还有的甚至是从U盘拷过来的。更让人崩溃的是,同一个活动的照片被分成了好几份存在不同的地方。
“运动会”的照片有的是“运动会001.jpg”,有的是“田径运动会_3.jpg”,还有的是“2024_10_15_001.jpg”;“科技节”的照片更是乱七八糟,文件名里既有中文又有英文,还有各种奇怪的符号。
李明坐在电脑前,一个一个地打开图片看内容,然后手动重命名、分类、归档。他本以为两个小时就能搞定,结果弄到晚上十一点,连一半都没完成。
“太慢了!这样下去明天根本交不了差!”李明趴在桌子上,脑袋一片混乱。
就在这时,他的目光落在了书桌角落的一本书上——《Python编程:从入门到实践》。这是他哥哥的书籍,因为哥哥在外地上大学,书就留在了家里。李明之前随手翻过几页,觉得那些代码看起来很复杂,就没再看了。
但此刻,李明鬼使神差地拿起了这本书。
“这本书的封面上画着一条蛇,看起来怪怪的。不过,书名旁边写着'自动化'两个字……自动?”李明心里一动,“如果能让电脑自动帮我整理这些文件,不就不用我一个一个手动弄了吗?”
抱着试试看的心态,李明翻开了这本书,开始了他的代码世界探索之旅。
什么是编程?——和电脑对话的艺术
翻开书的第一个章节,标题赫然写着:“什么是编程?”
> 编程(Programming),简单来说,就是用某种特定的“语言”和计算机进行沟通,告诉计算机我们想让它们做什么。 > > Programming, simply put, is communicating with computers using a specific "language" to tell them what we want them to do.
李明盯着这段话看了半天,眉头微微皱起。“和电脑说话?”他喃喃自语,“电脑又不会说话,怎么和它沟通呢?”
带着这个疑问,他继续往下读。
作者用一个生动的比喻来解释这个问题:
想象一下,你要去一个语言完全不通的国家旅行,那里的人只会说当地的语言。你想喝一杯咖啡,但是当你指着菜单说"Coffee"的时候,服务员一脸茫然地看着你。
这时候你会怎么办?
你会想办法用其他方式表达你的意思——也许是画图,也许是比划手势,也许是用简单的词汇反复尝试。慢慢地,你学会了一些当地的语言,能够和服务员进行简单的交流了。
编程其实也是一样的道理。
我们日常使用的电脑,并不能直接理解人类的语言。电脑的“大脑”——也就是中央处理器(CPU,Central Processing Unit)——只能理解和执行极其简单的指令,比如“把数字1和数字2相加”,或者“把这个数据放到那个位置”。
这些指令是用一种叫做“机器语言”的东西表示的,对人类来说完全无法理解。机器语言看起来像这样:
``` 10110000 01100001 00000101 00000001 ```
密密麻麻的0和1,看得人头晕眼花。
所以,为了让人类能够和电脑交流,科学家和工程师们发明了各种各样的“编程语言”。这些语言专门设计成既能被人类理解和书写,又能在一定程度上被电脑理解和执行。
> 编程语言(Programming Language)是一种人造的语言,它有自己固定的词汇(关键字)、语法规则和表达方式。不同的编程语言适用于不同的场景,就像中文适合写诗,英文适合国际交流一样。 > > A programming language is an artificial language designed to be both understandable by humans and executable by computers. Different programming languages suit different purposes.
经过几十年的发展,现在已经有上百种编程语言被发明出来了。有的语言擅长处理数学计算,有的语言适合开发网站,有的语言可以控制机器人,还有的语言特别适合初学者入门……
李明看到这里,眼睛渐渐亮了起来。
“原来编程就是和电脑说话啊!而且还有很多种语言可以选择!”他兴奋地想,“那我要学哪一种呢?这种Python好像很厉害的样子,封面上还写着'自动化',正好能解决我的文件整理问题!”
好奇心驱使着李明继续翻阅,很快他看到了下一节的标题——
为什么选择Python?
这一节的标题下面,有一个副标题:“初学者的最佳选择”。
李明仔细阅读起来,生怕错过任何重要信息。
作者写道:Python诞生于1991年,由荷兰程序员吉多·范罗苏姆(Guido van Rossum)创造。“Python”这个名字可不是因为它和蛇有什么关系,而是因为范罗苏姆是英国喜剧团体“Monty Python”的粉丝,所以用这个喜剧团体的名字来命名他创造的语言。
Python的设计哲学强调代码的可读性和简洁性。范罗苏姆希望Python的语法能够让程序员用最少的时间写出程序,而不用把太多精力花费在理解代码上。用他自己的话说就是:
> “There should be one—and preferably only one—obvious way to do it.” > “应该有一种——最好是只有一种——显而易见的做法。”
这种设计理念让Python变得非常友好,特别适合编程初学者。
李明还从书中了解到,Python在以下领域有着广泛的应用:
1. 自动化办公——就像李明现在需要的文件整理,用Python可以轻松实现自动重命名、自动分类、自动备份等功能。
2. 数据分析——Python有强大的数据处理库,可以对海量数据进行统计、分析和可视化。金融、医学、市场研究等各个领域都在大量使用Python进行数据分析。
3. 人工智能与机器学习——现代AI技术大多基于Python开发。无论是图像识别、自然语言处理,还是最近火热的ChatGPT,背后都有Python的身影。
4. Web开发——许多知名的网站和Web应用都是用Python开发的,比如YouTube、Instagram、豆瓣等。
5. 网络爬虫——用Python可以编写程序自动从互联网上获取各种信息。比如自动抓取新闻、自动比较商品价格、自动收集学习资料等。
6. 游戏开发——Python也可以用来开发游戏,虽然不如专门的游戏引擎强大,但对于学习游戏开发原理来说已经足够了。
看到这么多应用场景,李明简直不敢相信自己的眼睛。原来Python这么厉害,能做这么多事情!
书里还列出了Python的以下几个优点:
- **语法简单**:Python的代码看起来很像英语,读起来很自然。比如,要打印一句话,其他语言可能需要写好几行,而Python只需要一行。
- **库丰富**:Python有一个庞大的“工具箱”,里面装满了各种现成的代码模块。无论你想做什么,几乎都能找到现成的工具来帮忙,不需要从零开始。
- **社区活跃**:全球有数以百万计的Python使用者,有问题随时可以在网上找到答案和帮助。
- **跨平台**:Python可以在Windows、Mac、Linux等各种操作系统上运行,一次编写,到处运行。
李明越看越兴奋,他突然意识到,自己可能发现了一座宝库。
“如果学会了Python,我不仅能解决这次的文件整理问题,以后还能做更多的事情!”他心想,“比如说,自动整理我下载的学习资料,自动帮妈妈统计家庭开支,甚至可以做个自动提醒我写作业的小工具!”
李明恨不得立刻就开始学习Python。但是,他知道磨刀不误砍柴工,首先得把开发环境安装好。
安装Python——搭建你的编程工作室
书中建议,对于初学者来说,最方便的Python安装方式是使用Anaconda。Anaconda是一个打包了Python解释器和大量常用库的“全家桶”,安装它就相当于一次性把厨房装修好、各种厨具都备齐,可以直接开始做菜了。
李明决定按照书上的步骤来操作。
第一步:下载Anaconda
首先,李明打开电脑的浏览器,在地址栏输入Anaconda的官网地址:`https://www.anaconda.com`
进入官网后,他找到了下载页面。页面上显示着“Download”按钮,旁边有一个下拉菜单可以选择操作系统。李明的电脑是Windows系统,所以他选择“Windows”。
页面上列出了几个Python版本,李明选择了最新的Python 3.11版本。点击下载按钮,大约等待了3-4分钟,一个大约800MB的安装包就下载完成了。
> 💡 小贴士 / Tip: > Anaconda的安装包比较大,如果你觉得下载太慢,也可以使用国内的一些镜像源来加速下载。比如清华大学的镜像站(`https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/`)通常下载速度会快很多。 > If you find the download too slow, you can also use some domestic mirror sites to speed up the download.
第二步:安装Anaconda
下载完成后,李明双击安装包,开始安装过程。
安装向导的界面很友好,第一步是选择安装路径。李明把Anaconda安装到了D盘的一个新建文件夹里:`D:\Anaconda3`
> ⚠️ 注意 / Note: > 建议不要把软件安装在C盘的系统目录里,以免占用系统盘太多空间,或者因为权限问题导致后续使用出错。 > It's recommended not to install software in the C drive's system directory to avoid taking up too much space or causing permission issues.
接下来的几步都比较简单,基本上就是一路点击“Next”或“Continue”按钮。在其中一个步骤,安装程序询问是否把Anaconda添加到系统环境变量,李明按照书上的建议,勾选了这个选项。
> 💡 小贴士 / Tip: > 环境变量(Environment Variable)是操作系统中的一些特殊配置,它们告诉电脑去哪里找程序。添加到环境变量后,你就可以在命令行里直接输入程序的名字来运行它,而不用每次都输入完整的路径。 > Environment variables are special configurations in the operating system that tell the computer where to find programs.
安装过程大约持续了5分钟,最后出现了一个“Installation Complete”的提示界面,说明安装成功了。
第三步:安装VS Code编辑器
虽然Anaconda自带了一个叫做Spyder的编程界面,但书里更推荐初学者使用VS Code(Visual Studio Code)作为主要的编程工具。
VS Code是微软公司开发的一款免费编辑器,它界面美观、功能强大,而且支持几乎所有主流的编程语言。全球有数以百万计的程序员都在使用它。
李明打开浏览器,访问VS Code的官网:`https://code.visualstudio.com`
点击首页的“Download for Windows”按钮,下载安装包。VS Code的安装包很小,只有大约100MB,下载起来非常快。
下载完成后双击安装,同样一路点击“Next”即可。安装过程中有一个步骤询问是否创建桌面快捷方式,李明勾选了“Create a desktop icon”选项,这样以后使用起来会更方便。
第四步:配置中文语言包(可选)
VS Code默认是英文界面,对于初学者来说可能不太友好。李明按照书上的说明,安装了一个中文语言包:
1. 启动VS Code 2. 按下键盘上的快捷键 `Ctrl + Shift + P`,打开命令面板 3. 在命令面板中输入“Configure Display Language”,然后选择它 4. 选择“Install Additional Languages”,在左侧的语言列表中找到“中文(简体)”,点击安装 5. 安装完成后,按 `Ctrl + Shift + P`,再次输入“Configure Display Language”,这次选择“zh-cn” 6. 重启VS Code,界面就变成中文了
第五步:安装Python扩展
VS Code虽然功能强大,但它本身只是一个编辑器,并不会直接运行Python代码。要让VS Code能够编写和运行Python程序,还需要安装一个专门的扩展(Extension)。
李明按照书上的步骤操作:
1. 在VS Code的左侧找到“扩展”按钮(或者按 `Ctrl + Shift + X`) 2. 在搜索框中输入“Python” 3. 在搜索结果中找到由Microsoft开发的“Python”扩展,点击“安装”按钮
安装完成后,VS Code就准备好了。
初识Jupyter Notebook——你的第一个编程工具
按照书上的建议,李明先不使用VS Code,而是使用Anaconda自带的一个叫做Jupyter Notebook的工具来学习Python基础。
> Jupyter Notebook是一个基于浏览器的交互式编程环境。它最大的特点是“所见即所得”——你可以在代码格子里写代码,然后立刻运行看到结果,非常适合学习和实验。 > > Jupyter Notebook is an interactive programming environment based on a web browser. Its biggest feature is "what you see is what you get"—you can write code in cells and run them immediately to see results, making it perfect for learning and experimentation.
启动Jupyter Notebook
李明回到Windows的开始菜单,找到刚刚安装的Anaconda文件夹,里面有一个叫做"Jupyter Notebook"的程序。点击它,系统会自动打开一个浏览器窗口,显示Jupyter Notebook的界面。
> 💡 小贴士 / Tip: > 也可以在开始菜单中搜索"anaconda prompt",打开Anaconda命令行,然后输入`jupyter notebook`来启动。掌握命令行启动的方式在以后会很有用。 > You can also start it by searching "anaconda prompt" in the Start menu, opening the Anaconda command line, and typing `jupyter notebook`. Knowing how to use the command line will be useful in the future.
你的第一个Python程序
在Jupyter Notebook的界面中,李明点击右上角的“New”按钮,然后选择“Python 3”,一个新的Notebook就创建好了。
Notebook的界面分成一个个格子(Cell),每个格子可以输入代码或文字。李明在第一个格子里,按照书上的示例,小心翼翼地输入了:
```python print("Hello, World!") ```
然后按下了`Shift + Enter`键(或者点击工具栏上的运行按钮)。
“Hello, World!”——这是计算机编程世界里最著名的一句话,几乎所有程序员在学习第一种编程语言时,都会先输出这句话。它就像是一个仪式,标志着你和代码世界的第一次对话。
屏幕上立刻显示了输出结果:
``` Hello, World! ```
李明盯着那行字看了好几秒,然后忍不住笑了起来。
“成功了!我居然真的和电脑说上话了!”他兴奋地喊道。
这简单的一行代码,让李明真切地感受到了编程的神奇。电脑真的听从了他的指令,在屏幕上打印出了他想让它打印的内容。
书上说,这行代码中`print`是一个函数(Function),它的作用是把引号里面的内容打印(显示)出来。引号告诉Python,这里的内容是文本,不是代码本身。
变量——给数据起个名字
初步体验了编程的乐趣后,李明决定继续深入学习。书中接下来的内容是关于变量的讲解。
> 变量(Variable)是编程中最基本的概念之一。你可以把它想象成一个贴了标签的盒子,标签就是变量名,盒子里装的东西就是变量的值。 > > A variable is one of the most fundamental concepts in programming. You can think of it as a labeled box, where the label is the variable name and the contents are the variable's value.
用代码来理解会更清楚:
```python
这是一个变量示例
name = "小明" # 把字符串"小明"放进名为name的盒子里 age = 14 # 把数字14放进名为age的盒子里 height = 1.68 # 把数字1.68放进名为height的盒子里
print(name) print(age) print(height) ```
运行这段代码,输出结果如下:
``` 小明 14 1.68 ```
李明注意到,代码中以`#`开头的文字是注释(Comment),用来解释代码的含义,Python会忽略这些内容,不会把它们当作代码来执行。写注释是一个好习惯,能够帮助自己和别人理解代码。
他按照书