☰
Python基础第一讲:环境搭建、变量与函数入门全解析
2026/10/4 20:54:01 网站建设 项目流程

2. Python基础第一讲,到底在讲什么

很多人第一次接触编程,搜索栏里打的就是"python 基础第一讲"或者"python入门"。这类标题看起来简单,背后其实藏着一个很实际的需求:我想用Python做点什么,但从哪一步开始心里完全没数。

我写这一讲,不是为了把语法书目录念一遍,而是按照"装好环境 → 跑通第一个程序 → 认识变量 → 写出第一个函数"这条主线来设计。学完之后,你至少有这三个能力:电脑上有能运行的Python环境;能看懂print、变量、数据类型、类型转换是什么意思;遇到报错知道往哪个方向排查。有了这些底子,后面你再看到"python爬虫""python写入excel""python连接公司系统实现自动拉表"这些具体场景,才真的有办法去搜、去试、去折腾。

这一讲适合三类人:完全没碰过编程的学生,想转行做数据或自动化办公的职场人,以及纯属好奇想学个新技能的朋友。如果你已经能用R、MATLAB或者Java处理数据,那这讲内容可以跳着看,重点留意变量和函数这两节的口径就行。

2.1 为什么学习路线要这样安排

编程学习有个很大的坑,就是一上来被塞了一堆"数据类型、运算符、流程控制、列表、字典、元组……"的语法清单,结果记了半个月,打开编辑器还是不知道写什么。

所以我给"python基础第一讲"定的路线是:安装 → 跑通 → 变量 → 函数。先让屏幕上出现输出,再往上加逻辑。人对于能立刻看到反馈的事情,学习效率是很高的。

另一个关键设计是,从第一讲就引入"函数"这个概念。函数是组织代码的最小模块,你可以把它理解成"给一段动作起个名字,以后反复调用"。很多同学学到后面代码写得像流水账,就是因为基础阶段没养成用函数封装逻辑的习惯,等到项目复杂了才来改,非常痛苦。

工具选型上,我建议先使用Python自带的IDLE编辑器,等基本语法熟了再切到VSCode或PyCharm。原因是IDLE零配置、零干扰,一打开就能写;VSCode虽然强大,但还要装扩展、选解释器、配置终端,这些对新手来说都是额外的心智负担。

2.2 学习预期的管理

在这一讲里,我不会承诺"学完就能写出量化交易策略""学完就能爬取全网数据",那是营销号干的事。基础第一讲真正的价值,是让你具备自我摸索的底层能力。

比如网上一搜"python画图横坐标太密集""python如何连接公司系统实现自动拉表",你能看懂那些解决方案是在说什么;再比如搜到"python定义函数""python类型转换"这类教程,你能判断它讲得対不对、适不适合自己。这个筛选和吸收的能力,比背十个知识点重要得多。

3. 环境搭建:第一个拦路虎怎么驯服

关于"python怎么安装""电脑如何装python环境",网上教程一抓一大把,但我发现真正卡住新人的往往不是步骤多,而是"装完不知道成没成功"。所以这一章我尽量把每一步讲透,包括那些教程默认你会但其实不会的细节。

3.1 下载安装的版本选择与关键勾选

去Python官网下载安装包,网址是python.org/downloads,注意识别官方域名,不要从乱七八糟的下载站下载安装包,很容易附带一堆推广软件。

建议下载Python 3.10以上的版本。虽然现在还有很多老项目在用Python 3.8,新学的话没必要刻意选旧版,新版本语法兼容性更好,第三方库支持也更全。

Windows安装时,有两件事要盯住:

  1. 勾选 "Add Python to PATH"。PATH是Windows系统用来寻找程序的路径列表,可以理解成一个通讯录。不把Python加进这个通讯录,你在终端敲python命令时,系统根本不知道去哪找它。我见过太多人死在这一步。

  2. 选择 "Install Now" 而不是 "Customize installation"。自定义安装里那些高级选项对新手没有意义,容易改出问题。

安装完成之后,验证是否成功:按Win+R,输入cmd回车打开终端,依次敲以下两条命令,每敲完一条按一次回车:

python --version pip --version

第一行出现类似Python 3.12.0的输出,说明Python本体正常;第二行出现类似pip 24.0 from ...的输出,说明包管理工具也正常。两个都出来,环境搭建这一步才算真正走完。

3.2 开发环境怎么选:从IDLE到VSCode

环境搭建完之后,紧接着就是"用什么写代码"的问题。我做过一个简单的对比,帮你在初期省掉选择困难。

编辑器上手成本启动速度适合阶段备注
IDLE极低,装完自带快第一讲到前几讲零配置,适合写短代码
VSCode中等,需要装扩展中学完基础语法后免费、插件生态极强,主流选择
PyCharm较高,界面复杂慢写正式项目时社区版免费,功能完整但资源占用高

我个人的建议是:第一讲就用IDLE。它虽然没有代码高亮补全那些豪华功能,但恰恰因为简陋,你能把注意力放在语言本身。等练到后面,自然会产生"换个更顺手的编辑器"的诉求,那时候再切VSCode,你会觉得它简直是解放。

如果已经决定直接用VSCode,记住三个关键动作:安装Python扩展(搜索 "Python" 并安装Microsoft官方那个)、按Ctrl+Shift+P打开命令面板执行 "Python: Select Interpreter" 选择解释器、在终端里确认使用的是同一个Python环境。很多新人遇到的"代码在VSCode里跑不了""装了库却报ModuleNotFoundError",八成就是这三个动作没做全。

3.3 环境变量没配好时的手动补救

如果安装时漏勾了Add to PATH,或者是在MacOS、Linux上需要手动管理Python环境,得知道怎么补救。Windows手动配置环境变量入口比较深,但操作不难。

右键"此电脑" → "属性" → "高级系统设置" → "环境变量",在"系统变量"里找到名称为Path的项,双击打开,新增两条路径:

  • Python的安装目录,通常是C:\Users\你的用户名\AppData\Local\Programs\Python\Python3xx
  • 同一目录下的Scripts子目录,这个目录放着pip等命令行工具

改完之后重新打开一个终端,再执行python --version。注意:改完环境变量之后,原来开着的终端窗口要关掉重开,因为终端只在启动时读一次环境变量。

MACOS和Linux的情况简单一些:大多系统自带Python3,直接在终端敲python3就能进交互模式。用Linux系统安装python也不复杂,Debian系发行版执行sudo apt install python3即可。但要注意,某些系统的默认Python是2.x或3.6这种老版本,命令要确认清楚,实在不行就先装python3而不是python。

3.4 pip安装第三方库的正确姿势

基础第一讲学完,你很可能立刻就想装第三方库,比如pip install numpy、pip install opencv-python。这个需求非常正常,Python强大的生态主要就是靠这些库支撑起来的。

安装库的基本命令是:

pip install numpy pip install opencv-python pip install scikit-learn

如果默认源太慢、经常超时,可以临时指定国内镜像源:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

-i参数就是指定下载源,清华源是国内比较稳定的选择。

常见的坑有两个。第一个是pip 不是内部或外部命令,说明Scripts目录没有加入PATH,按上面3.3手动补配置。第二个是装了库但import报错,这种多数情况是终端里的Python和你编辑器的Python不是同一个,也就是"解释器选错了",VSCode用户从"Select Interpreter"改成同一个环境就能解决。

4. 第一个程序与基础语法:print只是开胃菜

环境搞定后,激动人心的时刻到了。但我建议你别满足于"运行成功"的那个绿色三角,好好抠一抠print、变量、类型转换这些基础点,它们是你后面所有代码的地基。

4.1 Hello World没你想的那么简单

在IDLE或编辑器里新建一个文件,输入这行代码:

print("python 基础第一讲")

保存文件时注意文件名后缀是 .py。按F5运行,窗口里出现这行字,恭喜你,你已经跑通了人生的第一个Python程序。

但Hello World里还藏着几个以后天天用得上的细节:

  • print()默认会在结尾自动换行,所以每个print都是一行输出。
  • print()里可以放多个值,用逗号分隔,输出时它们会用空格连起来。比如print("答案是", 3 + 5)输出答案是 8。
  • 字符串可以用双引号"..."包着,也可以用单引号'...'包着,效果一样。嵌套引号时要注意配对,比如想打印他说:"你好",外层用单引号内层用双引号就不会冲突。
  • Python3默认UTF-8编码,中文基本不会乱码。如果在某些老式cmd窗口里出现乱码,先执行chcp 65001切到UTF-8代码页再运行。

再补充一个有意思的点:print还能直接做算术。比如print(10 / 3)会输出3.3333333333333335,这个5结尾的小数精度问题,就是后面学习浮点数时会遇到的经典现象,第一讲先混个脸熟。

4.2 变量:编程的"存储格"

如果说程序是一台做菜机器,变量就是上面的碗和盘子:把数据放进去,随取随用,还可以重新装别的东西。在Python里定义一个变量,不需要提前声明类型,直接写名字和等号就行:

count = 10 price = 3.5 name = "张三" is_student = True

这里四个变量分别存了整数、浮点数、字符串、布尔值。等号右边的值会"放进"左边的变量名里,以后在代码里用到count,Python就知道你说的是10。

变量名有两条硬性规则:不能以数字开头,不能用Python关键字(比如if、for、def这些)。另外有一条习惯性约定:命名要见名知意,用user_name而不是a。等你回头维护自己写的代码时会感谢这个习惯。

Python变量还有一个非常大的特点,叫动态类型。也就是说同一个变量可以先存数字,后存字符串,Python不会拦你:

count = 10 count = "现在变成字符串了" print(count)

这个特性让Python写起来很爽,但也要小心:类型变了,后续代码的行为可能完全不一样。

4.3 数据类型:int、float、str、bool、None

变量里装的数据是有类型的。Python基础阶段,掌握五个类型基本就够用了:

类型中文名例子典型用途
int整数10、-3计数、索引
float浮点数3.14、0.5模拟连续值
str字符串"hello"文本处理
bool布尔值True、False条件判断
NoneType空值None表示"什么都没有"

想知道一个变量是什么类型,用type()函数:

price = 9.9 print(type(price)) # 输出 <class 'float'>

第一讲里,对这些类型建立"直觉"比背定义重要。比如int和float之间有个微妙区别:3和3.0在Python眼里是不同的数据类型,但数学上它们是同一个数。这个区别在计算时会体现出来,比如10 / 2结果是5.0,而不是5,因为除法即使能整除,结果也默认是浮点数。

4.4 类型转换:让数据从一种形态变成另一种

不同类型之间往往不能直接操作。比如字符串和数字相加:

age = "25" print("年龄是" + age) # 这可以,字符串拼字符串 print(age + 1) # 报错:TypeError

错误信息会提示can only concatenate str (not "int") to str,意思是"字符串只能拼接字符串,不能拼整数"。这类TypeError是新手报错里的常客,并不吓人,它只是告诉你别跨类型运算。

解决方式就是显式类型转换:

int("123") # → 123,字符串转整数 float("3.14") # → 3.14,字符串转浮点数 str(456) # → "456",整数转字符串 int(3.99) # → 3,注意是截断,不是四舍五入

有几个转换容易踩坑,提前打个预防针:int("12.5")会报ValueError,因为int函数不认小数点;int("abc")也会报错。所以从用户输入中转数字时,一定要确保内容能被安全转换。

input()函数在外行人看来很简单,但它有两个地方特别容易引起混淆:输入的内容永远都是字符串;哪怕用户输入了数字,input返回的也是"数字的字符串形态"。所以正确姿势是先存到变量,再转换成需要类型:

age = input("请输入你的年龄:") age_num = int(age) print("明年你", age_num + 1, "岁")

这类任务的综合训练,就是"python变量的类型练习题"里最常见的模式:定义几个变量,用type()观察类型,再用int()/float()/str()做转换,逐步理解数据形态变化在程序中的作用。

5. 函数定义与经典入门编程题实操

概念积累够了,就该动手解决问题了。下面两个例子是网上搜"python定义函数""python经典100编程题""李白打酒python""python编程求长方体体积"时非常容易撞见的内容,我把它们串起来讲,用函数的方式组织代码,一方面练手,另一方面强化"逻辑封装"的意识。

5.1 函数:给一段代码起个名字

函数的本质是"把一段动作封装起来,定义一个可复用的代码块"。定义函数用def关键字:

def greet(name): print("你好,", name)

调用时写函数名加括号:

greet("张三") # 输出:你好, 张三

如果函数需要返回计算结果,用return把结果送出去:

def add(a, b): return a + b result = add(3, 5) print(result) # 输出 8

几个关键概念:def后面是函数名和括号里的参数列表;函数体要缩进4个空格;没有return的函数,调用后返回值是None;函数定义要先于调用执行。这些规则在第一讲阶段先记住"语法长什么样",后面循环、字典、文件操作时再反复用,慢慢就内化了。

在函数设计上,第一讲就要建立"单一职责"的直觉:一个函数只做一件事。宁可多写几个小函数,也不要写一个几百行的大函数。代码可读性和可测试性都会受益。

5.2 经典题一:李白打酒

"李白街上走,提壶去打酒;遇店加一倍,见花喝一斗;三遇店和花,喝光壶中酒;试问壶中原有多少酒?"这道题网上变体非常多。直接正向设方程,新手容易绕。但借用一个很自然的反向推导就有解了。

逆向过程是:最终喝光为0,最后一步是"见花",喝掉一斗,所以见花前有1斗;再往前一步是"遇店",酒量翻倍,那么遇店前应该是1/2斗。三次迭代,就把原来酒量反推出来。

用代码写,反向逻辑非常顺:

def original_wine(cycles=3): total = 0.0 for _ in range(cycles): total += 1 # 逆推见花:先加上喝掉的一斗 total /= 2 # 逆推遇店:再除以2,还原翻倍前 return total print(original_wine()) # 输出 0.875

结果0.875斗,和手工推出来一致。这个例子说不上难,但它把"逆向思维""循环""函数封装"三个能力点全练到了。尤其注意循环里先加后除的顺序,和正向"遇店加一倍,见花喝一斗"正好相反,这就是代码和现实逻辑的映射关系。

5.3 经典题二:长方体体积

"python编程求长方体体积"是另一个高频基础题。逻辑本身简单:体积 = 长 × 宽 × 高。

def cuboid_volume(length, width, height): return length * width * height print(cuboid_volume(3, 4, 5)) # 输出 60

但实际编程里,长度、宽度、高度往往是从用户输入读进来的,这就得和前面的类型转换联动:

length = float(input("请输入长:")) width = float(input("请输入宽:")) height = float(input("请输入高:")) print("体积是", cuboid_volume(length, width, height))

这里用float()而不是int(),是因为输入可能是2.5这种小数。如果你用int,遇到小数又会ValueError。这个小细节,就是常说的"把边界情况考虑清楚"。

5.4 为什么第一讲就要练函数

很多基础教程会把函数讲课放到很后面,我恰恰相反。理由有两点:第一,函数能把"计算过程"变成"可命名、可复用、可传递"的单元,越早建立这种抽象能力,后面写代码的整洁度越高。第二,你以后见到"python量化交易策略代码""python爬虫""python连接oracle查询数据"这些实际场景,核心逻辑都长在函数拼装和参数传递上。虽然第一讲只是点到为止,但这个思维种子要尽早埋下。

再补充一个预告:函数和数据结构是搭配使用的。比如"python数组切片",本质上就是对一个列表按[起始:结束:步长]取片段;第一讲用不到,但它和你刚才用的range(cycles)、float(input())一样,都是基础语法的延伸。基础不牢的话,后面会到处卡壳。

6. 新手避坑:五类高频报错与排查技巧

编程入门,报错是日常。很多新手被报错劝退,不是能力问题,主要是没人告诉过他们"报错其实是程序在给你递线索"。这一章我用一个速查表,把第一讲阶段最常遇到的报错整理出来,你按表索骥,大部分问题十分钟内能解决。

6.1 常见报错与解决方案速查

报错信息关键词出错场景解决方案
SyntaxError: invalid syntax括号不配对、字符串引号漏了、写了中文符号检查()""'',把中文全角符号改成英文半角符号
NameError: name 'xxx' is not defined变量/函数没定义就使用,或者名字写错看是不是拼写不一致,变量必须先赋值再使用
TypeError: can only concatenate str (not "int") to str字符串和数字直接拼接用str()把数字转成字符串,或格式化输出
ValueError: invalid literal for int() with base 10把"12.5"或"abc"这类内容转int确认字符串内容,改用float(),或先做校验
ModuleNotFoundError: No module named 'numpy'import了一个没安装的库执行pip install numpy,注意是当前解释器环境中

前四个都是代码逻辑问题,最后一个其实是环境问题。特别提醒:当你出现ModuleNotFoundError,不要急着换源重装,先确认当前运行代码的解释器是不是你装库的那个Python。VSCode用户在右下角状态栏就能看到当前解释器路径;IDLE默认跟着系统Python走,相对不容易出错。

6.2 两个被问爆的"环境问题"

每次开课必被问到的问题之一,是"我明明pip install了numpy,代码里还是ModuleNotFoundError"。常见原因是装到了系统Python,但VSCode里选了解释器是另一个环境。这个问题的排查思路固定为:先看解释器,再看安装日志,再确认PATH。

另一个高频问题是"python画图横坐标太密集"。这个属于学到matplotlib之后会遇到的现象,本质是刻度自动生成策略过于密集,解决方法是手动设置间隔或旋转角度:

import matplotlib.pyplot as plt plt.xticks(rotation=45) # 或用 MaxNLocator 控制刻度数量 from matplotlib.ticker import MaxNLocator plt.gca().xaxis.set_major_locator(MaxNLocator(nbins=10))

虽然这是后面的内容,但这里先写下来,让你对"Python问题的解法通常不止一个"有个基本认知,以后遇到不会慌。

6.3 一些承前启后的学习建议

搜热词的时候,我还看到"python pandas""python build邻接矩阵""python dataframe""python写入excel"等等。这些都属于Python生态里的中后期内容,第一讲不需要去追,但你可以知道它们的定位:pandas和dataframe是表格数据处理的底座,邻接矩阵和图论是算法竞赛常客,excel操作是办公自动化的核心。所有这些都是建立在"变量、类型、函数、控制流"四个地基之上的。

我的建议是:在第一讲结束之后,千万别急着去啃大而全的框架,先把课上这些代码多敲几遍,再尝试改参数、加条件、换输入。比如把李白打酒的循环次数改成4,看看结果怎么变;把长方体体积函数加一个validate逻辑,输入负数时给出提示。这种"小步快跑"的练习方式,比看十遍教程都管用。

7. 第一讲之后你可以做点什么

内容讲到最后,我想说点真实的体会。

我见过太多自学Python的朋友,买课、收藏教程、关注一堆公众号,但打开编辑器的次数屈指可数。其实"python基础第一讲"最核心的东西,不是某个精妙的语法,而是让你形成一个最小闭环:写代码 → 运行 → 看输出 → 改代码 → 再运行。这个闭环一旦跑起来,后面所有的学习都是在往里面加零件。

第一讲学完,你可以试着给自己布置三个小任务:把李白打酒函数改成任意循环次数;写一个函数,输入三角形的三条边,返回是否构成三角形;用input()和类型转换,写一个计算BMI的小脚本。如果都能独立完成,恭喜,你已经具备继续往下学"列表、字典、循环、文件操作"的资格了。

另外一个很值得做的动作是,从现在起保留自己写过的每一个脚本,哪怕再简陋也别删。三个月后再回头看第一讲的Hello World,你会真实感受到自己的进步。这种正反馈,比任何学习计划都持续。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询