ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Python零基础入门:从环境配置到第一个完整项目

Python零基础入门:从环境配置到第一个完整项目 之前写过的入门教程大多偏理论真正能让一个完全没接触过编程的人在半小时内写出自己的第一行代码并且知道这行代码为什么会跑起来的内容太少了。这几天正好有个朋友从零开始学Python一路问了我不少问题从装环境到跑通第一个程序每一步都有新手容易卡壳的地方。这篇就把这一整套流程整理出来目标很简单让你在读完这篇文章之后自己动手把Python装上、把开发环境配好、写出并运行第一个真正属于你的程序。这篇文章适合完全零基础的人也适合之前学过一点但被环境配置劝退的人。我会把“为什么这样做”讲清楚而不只是丢给你一串安装命令。毕竟学编程这件事动手踩坑一次比死记硬背十遍概念都有用。0. 写在最前面先把“学Python”这件事想明白很多新手上来就问“学Python要多久”“要不要先学C语言”“是不是得把语法全背下来”这些问题其实都没问到点子上。学Python的第一步不是买书不是刷课而是先把环境跑通跑一个最简单的“打印一句话”的程序然后从这个点开始往外延伸。Python之所以适合入门是因为它把很多底层细节都帮你处理好了。内存管理不用你操心变量类型不用你显式声明数据结构的写法也特别接近人的自然思维。你不需要先搞懂计算机是怎么运作的才能学会写Python就像你不需要先懂发动机原理才能学会开车一样。这个语言的设计哲学就是“少写代码、多做事”对新手极其友好。但友好不等于没有门槛。整个入门过程里面最容易让人崩溃的不是语法而是环境配置。Python版本装错了、环境变量没配上、编辑器和解释器没关联上这些才是新手流失率最高的地方。所以这篇文章会花比较大的篇幅把环境这一关讲透因为这一关过了后面就一路顺畅了。1. 环境准备Python解释器与开发工具选型1.1 Python版本怎么选别纠结选3系就对了现在如果你去搜索Python下载会发现官网提供好几个版本。我直接给你结论选最新的稳定版3.x系列不要选2.x也不要特意去选最新的rc预览版。2.x早在2020年就停止维护了网上大量库已经不再兼容它你用了等于自己给自己挖坑。而rc预览版是给开发者测试用的稳定性没有保障。截至这篇文章更新的时候Python 3.12和3.13已经非常成熟社区里绝大多数第三方库都已经完成适配。如果你要跑机器学习、数据分析这类依赖重型库的项目选比最新版早一两个版本的大版本会更稳妥因为有些底层库的编译版本还没完全跟上。比如做量化交易、搞pandas数据分析的时候经常会有“Python 3.13不支持某个库”的报错这时候退回3.11或3.12就一切正常。打个比方Python版本就像手机系统最新的大版本往往意味着更漂亮的新功能但很多常用软件还没来得及适配。选一个“前一两个版本”的稳定版既能体验到大部分好处又不会遇到“应用闪退”的尴尬。1.2 Windows系统下Python的完整安装步骤Windows用户去 python.org 下载安装包的时候有一个特别关键的勾选框Add Python to PATH。这个选项默认是不勾选的但你必须勾上否则装完以后在命令行里输入python会提示“不是内部或外部命令”。这一步是无数新手栽跟头的地方。PATH是什么你可以把它理解成一个“系统找人名单”。你输入python三个字母的时候系统会按照名单上记录的路径去找python这个程序如果名单里没有Python的安装地址系统就找不到它。而安装时勾上“Add Python to PATH”就相当于把Python的安装地址写进了这个名单里。安装过程中还有一个选择需要注意Customize installation可以让你自定义安装路径。我建议把它装到一个路径里不含中文和空格的目录比如C:\Python312。这个习惯能避免很多莫名其妙的问题因为某些老牌开发工具对中文路径的支持并不好你写代码的时候用到的一些库可能会因为路径里有中文而直接报错。装完之后验证一下按下Win R输入cmd回车打开命令行窗口输入python --version。如果看到类似Python 3.12.x的输出恭喜你核心环境已经通了。1.3 macOS和Linux用户怎么装macOS用户其实自带Python但版本通常是老旧的2.x或早期3.x不建议直接用。最省事的方式是安装Homebrew然后执行brew install python它会自动帮你装好最新稳定版并配好路径。Linux用户则可以用系统自带的包管理器Ubuntu系执行sudo apt update sudo apt install python3CentOS系执行sudo yum install python3。Linux系统有个额外的坑系统的很多管理脚本依赖自带的Python版本你千万不要去手动卸载或者替换系统自带的Python否则可能导致系统工具崩溃。正确的姿势是把新版本的Python装成平行版本需要用新版本的时候就显式调用python3命令而不是去动系统的/usr/bin/python。1.4 编辑器怎么选VSCode和PyCharm哪个更适合新手环境配好了接下来要选一个写代码的工具也就是编辑器。市面上的选择很多但新手最常用的就两个VSCode和PyCharm。VSCode的优势是轻量、免费、插件生态丰富。它本质上是一个“万能编辑器”装Python插件之后就能提供代码补全、语法高亮、调试等功能。缺点是很多东西需要你自己配置对新手来说第一次搭建可能有点懵。PyCharm的优势是专业、开箱即用。它是专门为Python开发的IDE你装完以后识别Python解释器、运行代码、管理虚拟环境所有操作都有图形界面特别适合不想折腾配置的人。缺点是专业版收费社区版虽然免费但少了一些高级功能另外IDE本身比较大启动的时候有点慢。我给新手的建议是想快速跑起来、少碰配置用PyCharm社区版。如果你打算长期在编程这条路上走下去迟早要接触VSCode可以从VSCode开始装一个Python官方插件花十分钟配置一下后面一劳永逸。1.5 VSCode配置Python环境的三个关键步骤如果你选了VSCode我这里把配置的过程拆细一点。第一步安装Python插件。打开VSCode点击左侧扩展图标搜索“Python”认准Python官方发布的那个发布方是Microsoft点安装。这个插件提供了代码补全、语法检查、调试等核心功能没它就等于裸奔。第二步选择解释器。按下CtrlShiftP打开命令面板输入“Python: Select Interpreter”回车在弹出的列表里面选择你刚才安装的Python版本。这一步是告诉VSCode你写的是Python代码运行的时候用哪个解释器。选错了解释器后面运行代码的时候可能会找不到库。第三步创建第一个Python文件。新建一个文件夹用VSCode打开它然后新建文件命名为hello.py。写下一行代码print(Hello, Python!)保存。点击右上角的三角形运行按钮如果下方输出窗口打印出了Hello, Python!说明你的开发环境已经完整跑通了。2. 第一个程序print函数与项目的完整运行流程2.1 写一行代码看懂一行代码现在你已经在环境里跑通了print(Hello, Python!)。但你可能只是照着敲的并不明白这行代码到底在做什么。我给你拆开讲。print是Python的内置函数作用是往控制台输出内容。函数是什么你可以把它理解成一台“主动能机器”你把材料放进去它帮你加工成结果吐出来。在这里材料就是括号里面的Hello, Python!结果是它出现在你的屏幕上。那为什么字符串要用双引号包起来呢因为程序需要区分“代码”和“文本数据”。print是一个指令而Hello, Python!是一段数据。如果不加引号Python会认为你要让它输出一个叫Hello的变量而这个变量并不存在于是就会报错。加上引号Python就知道哦这是要我原样显示的一串文字。这一类数据在编程里叫“字符串”字符串可以用双引号也可以用单引号只要前后配对就行。我见过很多新手在这一步就开始纠结“为什么不能用中文引号”“为什么不能不加引号”——这些都是好问题但你现在只需要记住规则就好。随着代码写得多了这些符号规则自然会内化成一种直觉。2.2 运行代码的三种方式结合命令行实操跑代码的方式不止一种不同场景下你会用到不同的方式。第一种是刚才在VSCode里点的“运行按钮”它适合日常写代码调试的时候用。好处是方便坏处是它有时候会走VSCode自己的调试通道出错了信息不一定完整。第二种是在命令行里直接运行。打开cmd或终端先cd到代码文件所在的目录然后输入python hello.py回车。这种方式适合一切环境也是判断你的Python是否装好的金标准。值得注意的是很多人卡在这一步是因为不知道cd是什么意思。cd是“change directory”的缩写意思是切换目录。比如你的文件放在C:\Users\你的名字\code目录下就先输入cd C:\Users\你的名字\code然后再运行python hello.py。第三种是进入Python交互模式。在命令行里直接输入python回车你会看到类似的提示符这时候你输入一行代码它立刻执行一行并给你结果。这个模式适合验证一些小片段想法比如算一个数学表达式、试一个小函数不需要建文件就能跑。2.3 从“照抄代码”到“理解代码”的关键一步很多人学编程的误区是停留在“能跑就行”不理解代码结构就开始往下冲结果后面学到第20个知识点的时候一堆问题积压在一起彻底崩溃。要真正走出第一步我给你一个具体的方法改代码。把你写的print(Hello, Python!)改成print(Hello, World!)再改成print(你输入的任何内容)然后运行看看结果发生了什么变化。接着再试试在print里加上数字print(1 2)运行一下观察输出的是3还是1 2。这一步很重要因为你在亲手验证“代码的执行逻辑”。当你看到print(1 2)输出3的时候你就第一次体会到了计算机是“先计算再输出”的。这个过程比背十遍“print函数的作用”都管用。动手试错永远是学编程最好的老师。3. Python核心语法的第一课变量3.1 变量就是给数据贴一个方便取用的标签从一个程序的角度来看代码的本质是“处理数据”。而变量就是给数据起一个名字方便你在代码里反复引用它。打个比方你手机通讯录里存了一个号码你不需要每次都输入一长串数字而是输入“张三”这个名字就能打电话。变量就是通讯录里的“张三”数据就是那个号码。在Python里你只需要写一行代码name 张三这个号不是数学意义上的“等于”而是“赋值”——把右边的数据交给左边的名字记住。执行完这一行之后你随时可以通过name这个变量来访问“张三”这个字符串。刚入门的时候很多代码报错都跟变量名有关最常见的是NameError: name xxx is not defined。翻译过来就是你用的变量名还没被定义过。原因可能是你拼错了名字也可能是在使用变量之前忘了给它赋值。3.2 变量的命名规则与两个容易踩的坑Python变量命名有三条硬性规则只能包含字母、数字和下划线不能以数字开头不能和Python自带的关键字重名比如if、for、while这些。除了硬性规则行业里还有一个约定俗成的风格变量名使用小写字母多个单词之间用下划线连接比如user_name而不是userName或UserName。这种风格叫snake_case是Python社区一贯遵循的习惯。你可能暂时不需要深究但养成好习惯会减少以后的沟通成本因为代码主要是给人看的顺便才给机器执行。另外有个很容易踩的坑变量名不要用中文拼音缩写。比如把“用户年龄”写成yhnl过三天你自己都看不懂这代表什么。宁可多敲几个字母写成user_age代码的可读性会大幅提升。3.3 类型的概念先认识四个最常用的数据在Python里是有“类型”的不同类型的操作方式不一样。新手最常用的有四种整数int比如3、-5、2025浮点数float比如3.14、0.5就是带小数点的数字符串str比如你好、Python带引号的就是字符串布尔值bool只有True和False两种取值用来表达“是”或“否”你可以用type()函数来查看一个变量的类型比如age 25 price 19.9 city 北京 is_student True print(type(age)) # 输出 class int print(type(price)) # 输出 class float print(type(city)) # 输出 class str print(type(is_student)) # 输出 class bool理解类型的概念很重要因为不同类型之间不是随意转换的比如字符串能拼接数字能加减字符串跟数字直接相加就会报错。这时候就引出了今天要讲的另一个基础操作类型转换。4. 实操进阶类型转换与第一个互动程序4.1 字符串和数字互相转换input函数带来的常见报错新手碰到的第一个“奇怪报错”通常来自input()函数。input()的作用是让用户在终端里输入内容并把输入的内容作为字符串返回。问题来了当你需要用户输入一个数字并参与计算的时候你拿到的其实是一个字符串。来看这段代码age input(请输入你的年龄) print(明年你的年龄是, age 1)运行它你会发现程序直接报错TypeError: can only concatenate str (not int) to str。这就是因为age拿到的是字符串比如用户输入了18程序拿到的实际上是18这个文本并不是数字18。让文本去跟数字做加法Python表示做不到。解决办法就是类型转换。用int()函数可以把一个整数字符串转成整数用str()函数可以把数字转成字符串。改一下代码age input(请输入你的年龄) age int(age) print(明年你的年龄是, age 1)这次程序就能正确算出结果了。int()就像一个“翻译官”把“文本形态的数字”翻译成“数值形态的数字”翻译完了之后才能参与加减乘除。4.2 动手做一个体重指数计算器为了把变量、类型转换、input、print这些知识点串起来我设计一个小项目体重指数BMI计算器。需求很简单用户输入身高米和体重千克程序计算出BMI指数并打印出来。用到的公式是BMI 体重 / 身高 ^ 2。height float(input(请输入你的身高米)) weight float(input(请输入你的体重千克)) bmi weight / (height ** 2) print(你的BMI指数是, bmi)注意这里我用的是float()而不是int()因为身高和体重几乎都是带小数点的数据必须转成浮点数才能保持精度。如果身高输入1.75用int()转换会直接变成1计算结果会错得离谱。这个细节新手特别容易忽略。跑通之后可以继续加需求比如保留两位小数输出用round(bmi, 2)来实现或者加一个判断告诉用户体重是否在正常范围内这需要用到接下来要学的条件判断。4.3 一个知识点吃透F-string格式化输出用逗号拼接字符串和数字虽然能用但输出格式很丑。比如上面那段代码的输出是你的BMI指数是 21.834757834757。字符串能拼接数字能加减字符串跟数字直接相加就会报错。这时候就引出了今天要讲的另一个基础操作类型转换。height 1.75 weight 68 bmi weight / (height ** 2) print(f你的BMI指数是{bmi:.2f})这里在字符串前面加了一个f表示这是一个“格式化字符串”。花括号{}里可以直接放变量名Python会自动把变量的值填进去。冒号后面加的.2f表示保留两位小数。输出结果变成你的BMI指数是22.20清爽很多。F-string是Python目前最推荐的字符串格式化方式它让代码变得简洁直观。你以后写爬虫、做数据分析、写爬虫桌面工具的时候会无数次用到它所以从一开始就把它用熟练非常划算。5. 用两个经典“小游戏”巩固条件判断和循环5.1 第一个案例猜数字游戏的设计与实现到现在为止你已经学了顺序执行的代码从上往下一行一行执行。但现实中的程序不是这么简单的它需要“根据情况决定走哪条路”这就是条件判断if的用武之地。我们来做猜数字游戏。程序先随机生成一个1到100之间的数字让用户反复猜直到猜中为止。这个需求里已经包含了今天要学的所有核心语法点变量、input、类型转换、条件判断、循环、随机数。import random target random.randint(1, 100) guess 0 while guess ! target: guess int(input(请猜一个1到100之间的数字)) if guess target: print(猜大了再试一次。) elif guess target: print(猜小了再试一次。) else: print(恭喜你猜对了)第一行import random是导入Python自带的随机数模块。random.randint(1, 100)表示生成1到100之间的随机整数。while循环的意思是只要条件成立就一直重复执行下面的代码块。在这里只要用户猜的数字不等于目标数字循环就会一直持续直到猜中为止。这个程序虽然很短但信息密度极高。新手把这段代码自己敲一遍敲的过程中思考每一行在干什么比看十遍教程都有效。5.2 第二个案例用循环和条件生成一个简单老鹰捉小鸡统计条件判断和循环光是理解还不够最好能跟实际场景结合起来。再举一个贴近生活的例子统计一个“点名”列表里哪些人缺勤。students [小林, 小张, 小李, 小王, 小赵] absent [小张, 小王] for student in students: if student in absent: print(f{student} 缺勤) else: print(f{student} 到勤)这里用了for循环和in运算符。for student in students的意思是依次取出students列表里的每一个元素存到变量student里面然后执行一遍循环体。student in absent则是在判断“这个学生是否在缺勤名单里”。实际输出结果是除小张和小王显示缺勤外其余人都正常到勤。这个例子虽然简单但它展示了循环和条件判断在日常事务处理中的真实应用。你可以把这个逻辑延展到“统计订单未支付”“筛选高于平均分的成绩”等场景中去。5.3 避坑指南条件判断写法的两大常见错误条件判断的写法有三个标志性的坑我特别把它列出来。第一个坑用代替。在Python里单个是赋值比如x 5含义是把5交给x双等号才是判断相等比如if x 5:。很多新手会写成if x 5:然后Python直接报语法错误。其实从语义上想就明白了你是想“设定x为5”还是想“判断x是不是5”这是两回事。第二个坑忘了冒号。if判断语句的结尾必须加英文冒号:然后下一行缩进。忘加冒号或者缩进不一致都会报IndentationError。Python用缩进来划分代码块这一点跟C、Java用花括号不一样。很多新手第一次遇到缩进错误时一脸茫然其实原因就是空格和Tab混用了。建议在VSCode里把缩进设置为“用空格代替Tab”一般默认就是4个空格保持好这个习惯就行。第三个坑elif和else必须跟if配对使用不能单独出现。if是“如果”elif是“否则如果”else是“否则”。它们的执行顺序是从上到下依次判断碰到第一个条件为真的分支就执行执行完跳出整个判断块后面的分支不再检查。6. Python能做什么理解这门语言的边界与方向6.1 为什么Python职场里这么热数据分析与自动化场景写到这里你可能已经掌握了一些基础语法自然会好奇一个问题学完这些之后能做什么Python最强势的三个应用方向我建议你提前了解一下它会帮你看清楚自己接下来要朝哪个方向走。第一个方向是数据分析与可视化。Python有pandas、numpy这类数据处理库以及matplotlib、seaborn这类可视化库。它们让“从一堆Excel表格里找出规律”这件事变得轻松。比如你拿到一份销售数据用pandas读取、清洗、汇总再用matplotlib画成折线图和柱状图整个过程可能不到一百行代码。第二个方向是网络爬虫。用requests和BeautifulSoup这些库你可以编写程序自动访问网页、提取你需要的文本内容比如采集公开的天气数据或者商品价格。爬虫是一个很适合中阶练习者的方向因为它的反馈很直观写一个爬虫立刻能看到抓取到的数据。第三个方向是自动化办公。Python可以处理Word、Excel、PDF文件可以批量重命名文件、批量发送邮件、定时执行任务。对于非程序员来说这是最容易“立竿见影”的场景。我见过一个做财务的朋友用Python写了个小脚本才三四十行代码就把她每周要花两小时做的重复性报表工作压缩到了几十秒。学会Python不一定非要转行当程序员把它当成提升工作效率的工具这个价值就已经很大了。6.2 量化交易与Python从“看不懂代码”到“跑通一个策略”量化交易是你关心的话题里比较进阶的一个方向。它的核心逻辑其实并不神秘把交易策略写成代码让程序根据规则自动分析、执行和回测。比如“当5日均线上穿30日均线时买入下穿时卖出”这就是一个经典的均线策略用Python实现它大概只需要几十行代码。网上能找到很多量化交易的开源框架比如backtrader、vnpy、zipline这些。它们能帮你完成历史数据回测和模拟交易。但我要给你一个真诚的建议零基础不要直接冲量化因为它涉及金融知识、数据分析、统计学和编程的交叉任何一个环节薄弱都会让你寸步难行。正确的路线是把Python基础语法掌握扎实学会pandas处理时间序列数据再进入量化框架的学习。想靠Python一夜暴富不现实但想用Python验证一个投资想法这条路是完全可以走的。6.3 从学习到实战的路径图下一步该学什么基础语法学完之后我强烈建议你做“项目驱动式学习”而不是继续刷语法教程。你需要找一个自己感兴趣的小项目比如爬取一个网站的公开数据、做一个每日天气提醒脚本、把聊天记录做成词云图然后在这个项目里遇到什么学什么。这个过程是“由问题倒逼学习”遇到了正则表达式不会用就去查遇到了API请求失败就去学HTTP基础知识。比起按部就班地从头学到尾这种方式效率高得多。真实世界的编程从来不是“学了X就去做X”而是“要做Y所以需要学X、Z、W”。把这种倒逼思维建立起来你就真正踏入了编程的门槛。7. 常见问题与排查技巧实录7.1 环境配置阶段的典型报错与处理方案其实整个入门过程里环境配置阶段遇到的问题最多而且很多报错信息对新手来说像天书一样。我把几个最高频的问题整理出来方便你直接对照排查。第一个问题命令行输入python提示“python不是内部或外部命令”。这百分之百是环境变量没配好。解决办法是找到Python的安装路径然后把它手动添加到系统的PATH环境变量里或者卸载重装记住勾选“Add Python to PATH”。这里我多提醒一句修改系统环境变量之后要重新打开一个新的命令行窗口才会生效。第二个问题安装的时候勾了Add to PATH但还是提示找不到。这种情况通常是安装了微软商店版本的Python或者多个Python版本冲突了。建议把系统的Python全部卸载干净只保留一个版本的安装然后把它的安装路径放到PATH的最前面。第三个问题VSCode里运行代码的时候提示“No interpreter found”。这说明VSCode还没识别到你的Python解释器。解决办法是按CtrlShiftP输入“Python: Select Interpreter”手动选择你安装的那个Python路径。如果列表里没有可能需要点击“Enter interpreter path”手动浏览指定。7.2 语法学习阶段的典型报错与排查清单学语法的过程中报错信息会越来越多但好消息是大部分报错都指向明确的问题。SyntaxError: invalid syntax一般是有语法拼写错误比如漏了冒号、中英文括号混用、花括号不配对。NameError: name xxx is not defined说明变量名拼错了或者忘了定义。TypeError通常是类型用错地方了比如字符串跟数字做加法。IndexError: list index out of range表示你访问列表的下标越界了比如列表只有3个元素你却试图访问第5个。我整理了一个速查表报错信息大概率原因快速排查方向SyntaxError括号不配对、漏冒号、中英文符号混用检查报错行附近的符号IndentationError缩进不一致Tab和空格混用检查报错行的前后缩进NameError变量未定义或拼写错误搜索变量名出现的所有位置TypeError类型不匹配字符串数字等用type()检查参与运算的变量IndexError列表下标越界检查索引值是否超出列表长度ModuleNotFoundError第三方库未安装用pip install安装对应库7.3 第三方库安装pip的基础使用与加速技巧当你的项目开始依赖第三方库的时候就绕不开pip这个工具。pip是Python的包管理工具安装Python的时候会自带。安装一个库的格式非常简单pip install requests如果你在安装过程中发现下载速度极慢甚至超时这是因为默认源在国外。解决办法是临时指定国内镜像源比如pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple也可以把镜像源配置成永久默认在你用户目录下创建一个pip.ini文件Windows或pip.conf文件Linux/macOS写上[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple这里要特别提醒一点不要在系统Python环境里乱装库。等你项目多了之后不同的项目可能需要不同版本的同一个库混在一起就会冲突。正确的做法是给每个项目创建一个虚拟环境用python -m venv venv创建用venv\Scripts\activateWindows或source venv/bin/activateLinux/macOS激活。虚拟环境是隔离的“沙盒”项目A装的库不会干扰项目B。这个习惯虽然前期多费了一点功夫但能让你避免掉入后期最大的依赖地狱。7.4 一个特别容易遇到的坑代码文件保存路径与中文不少新手写代码的时候习惯把文件直接命名为“测试.py”或者放在“桌面”“我的文档”这种带中文路径的目录里。这在Windows下一般不报错但一旦用到某些第三方库特别是文件操作、路径解析相关的库就会莫名其妙地出问题报错信息还特别难排查。因为问题不在代码逻辑本身而在文件路径的编码上。所以我的建议是从一开始就把工作目录组织好。新建一个专用的文件夹比如D:\coding\learn-python路径纯英文、无空格把所有的练习代码都放在这个目录下文件名用英文小写加下划线比如hello.py、bmi_calculator.py。这个习惯成本极低收益却很大你会少踩非常多坑。8. 经验总结把“第一个程序”变成“第一个作品”跑通第一个程序只是起点真正的分水岭在于你有没有勇气在此基础上继续折腾。那种“只会照抄书上的代码”的状态和“能自己改出一个新功能”的状态差距其实并不大——中间隔着的只是一个小目标而已。我建议你给自己设置一个具体的小目标让BMI计算器给出健康建议。改造后的程序大概是这样的逻辑用户输入身高体重后程序计算BMI然后通过条件判断告诉用户“偏瘦”“正常”还是“偏胖”。这个目标用你前面学的知识完全够用但需要你动脑筋把它们组合起来这才是编程真正的乐趣所在。这个改造完成之后把它放在你的learn-python目录里叫bmi_advisor.py。恭喜你你拥有了自己写的第一个功能完整的作品。哪怕它只有二十行它对你的意义也远大于任何教科书上的示例代码。编程是一门手艺手艺只有在不断动手打磨中才能进步。保持这个节奏用一个小项目接一个小项目的方式推进你会发现自己成长的速度远超预期。
返回列表