AI学习005:从零开始学Python
AI学习005:从零开始学Python
零、Python是什么?为什么学它?
用一句话说:Python是一门"人类比较容易看懂"的编程语言。很多编程语言写起来像天书,一堆符号看得人头疼;Python的代码更接近英语,读起来甚至有点像"说人话",比如判断条件就写成 if age >= 18:——"如果年龄大于等于18",几乎不用翻译就能看懂。这也是为什么Python被公认为最适合零基础入门的编程语言之一。
它是干什么用的? 几乎哪儿都能用得上:
- 数据分析/人工智能:现在特别火的AI大模型、数据分析,背后主力语言就是Python(比如你熟悉的ChatGPT、各种AI工具,底层训练代码大量用Python写成)
- 网站开发:可以用来做网站的后台服务
- 自动化办公:批量处理Excel表格、批量改文件名、自动发邮件……能帮你把重复劳动交给电脑做
- 爬虫:自动从网页上抓取你需要的数据
- 小游戏、小工具:本教程最后就会带你做一个小游戏
它的特点,用大白话讲:
- 语法简单:比如不用像有些语言那样每行结尾加个分号,也不用写一堆"声明",能省的都给你省了
- 不用"编译",写完直接跑:改一行代码马上就能看到结果,特别适合"边学边试"
- "轮子"多:全世界的程序员写了海量现成的工具包(专业说法叫"库"),你想做的很多功能,基本都有人写好了,直接拿来用就行,不用从零造轮子
- 免费、跨平台:Windows、Mac、Linux都能装,完全免费
Python的名字从哪来? 并不是"蟒蛋"的意思——它的作者当年很喜欢一部叫《Monty Python》的英国喜剧,就用这个名字给语言命名了,跟蛇本身没啥关系,只是后来大家习惯用一条蛇作为它的标志(logo)。
好了,认识过Python之后,我们进入正式的准备环节。
一、开始之前:两种运行Python代码的方式
学编程最怕"环境没装好,代码还没写就卡住了"。这里给你两条路,新手强烈建议先走第一条,等你确定自己喜欢编程了,再走第二条。
方式一:在线运行,不用装任何软件(推荐新手起步)
打开浏览器,访问下面任意一个国内可直接访问、速度较快的在线Python编程网站,注册/不注册都能直接写代码运行:
- 在线工具1:https://www.crossincode.com/oj/wechat/
- 在线工具2:https://www.sahalatec.cn/portal/project/python.html
- 在线工具3:https://www.tutorialspoint.com/compilers/online-python-compiler.htm
- 在线工具4:https://www.crossincode.com/oj/wechat/
- 在线工具5:https://www.crossincode.com/oj/wechat/
本教程前几节课,你可以直接用第1个网站,打开网页、左边写代码、点"运行",右边就能看到结果,全程不用装任何东西。
方式二:在自己电脑上运行(用 Trae IDE,简单3步)
如果你想让代码"真正"跑在自己电脑上(以后能做更复杂的项目、存文件、连数据库),推荐用 Trae(一款对新手很友好的智能代码编辑器,界面是中文的,还能AI帮你改代码)。
第1步:装 Python 解释器
- 打开浏览器访问
python.org/downloads,下载最新版 Python(Windows用户),一路点"下一步",注意勾选"Add python.exe to PATH"这个选项(非常重要,别漏掉)。
第2步:装 Trae
- 搜索"Trae 官网"下载安装包,安装完打开。
第3步:写第一行代码
- 在 Trae 里新建一个文件夹(比如"我的Python学习"),在里面新建一个文件,命名为
hello.py。 - 输入:
print("你好,Python!")
- 点击右上角的"运行"按钮(或者右键文件选择"Run Python File"),下方会出现一个"终端"窗口,显示:
你好,Python!
看到这行字,恭喜你,环境搞定了,可以正式开课了。
第1课时(50分钟):认识Python——变量、数据类型、输入输出
-
下列关于Python的说法,错误的是:
A. Python代码写起来接近英语,比较容易读懂
B. Python是完全收费的编程语言
C. Python在AI、数据分析、自动化办公等领域都有广泛应用
D. Python可以在Windows、Mac、Linux上运行
-
Python这个名字的由来是:
A. 作者特别喜欢蛇这种动物
B. 因为写出来的代码像蟒蛇一样"绕"
C. 作者喜欢一部叫《Monty Python》的喜剧节目
D. 是"Program Type Home"的缩写
-
用Trae在本地写Python代码,文件的后缀名应该是:
A..pythonB.
.pyC.
.ptD.
.pyt -
在电脑上安装Python解释器时,安装过程中最容易被新手忽略、但非常重要的一步是:
A. 选择安装路径B. 勾选"Add python.exe to PATH"
C. 选择安装语言
D. 断开网络连接
-
想不装任何软件、直接在浏览器里写Python代码试试看,可以使用:
A. Word文档
B. 菜鸟教程在线工具等在线编程网站
C. 微信小程序
D. 计算器App
学习目标
- 理解什么是"变量"(可以类比成一个个贴了标签的盒子)
- 会用
print()输出内容,用input()获取用户输入 - 认识3种最常用的数据类型:数字、文字(字符串)、真假(布尔值)
1.1 变量:给数据贴标签的盒子
想象你家里有很多收纳盒,你在每个盒子上贴个标签,方便以后找。编程里的"变量"就是这样:
name = "张伟" # 一个装着文字的盒子,标签叫 name
age = 28 # 一个装着数字的盒子,标签叫 age
is_student = False # 一个装着"真/假"的盒子,标签叫 is_student
print(name)
print(age)
print(is_student)
运行后会输出:
张伟
28
False
要点讲解:
- 文字类型(叫"字符串")要用引号包起来,单引号双引号都行,比如
"张伟"或'张伟' - 数字不用引号
False(假)和True(真)首字母要大写,这是Python的规矩
1.2 print():让电脑"说话"
print("Hello, World!") # 输出一句话
print("我叫", name, ",今年", age, "岁") # 用逗号隔开多个内容一起输出
1.3 input():让电脑"听你说"
user_name = input("请输入你的名字:")
print("你好," + user_name + "!欢迎学习Python")
运行后,程序会先停下来,等你在下面输入名字、按回车,然后才会继续往下执行、输出问候语。
注意:input() 获取到的内容,永远是文字类型,哪怕你输入的是数字。如果要拿来做数学计算,要用 int() 转换一下:
age_text = input("请输入你的年龄:")
age_number = int(age_text) # 把文字"28"变成数字28
print("明年你就", age_number + 1, "岁了")
课堂练习(第1课时)
练习1:创建三个变量,分别保存你的姓名、年龄、所在城市,然后用一句 print() 把这三个信息拼成一句完整的自我介绍打印出来。
练习2:写一个程序,用 input() 询问用户"你今年几岁?",然后计算并打印"再过10年你将会是XX岁"。
第2课时(50分钟):判断——让程序学会"做选择"
-
下列变量赋值写法,正确的是:
A.
1age = 18B.
age == 18C.
age = 18D.
age -> 18 -
下面代码的输出结果是什么?
name = "小明" print("你好,", name)A. 你好, 小明
B. 你好,name
C. 报错
D. 你好 -
input()函数获取到的用户输入,数据类型永远是:
A. 整数
B. 小数
C. 字符串(文字)
D. 布尔值 -
想把用户输入的文字"25"转换成数字25以便做加减运算,应该使用:
A.str()
B.int()
C.input()
D.print() -
下面哪一个是合法的布尔值(真/假)写法?
A.true
B.True
C."True"
D.TRUE
学习目标
- 掌握比较运算符(大于、小于、等于……)
- 掌握
if / elif / else条件判断结构 - 能写出一个"根据条件不同、输出不同结果"的小程序
2.1 比较运算符
| 符号 | 含义 |
|---|---|
== |
等于(注意是两个等号,一个等号是"赋值") |
!= |
不等于 |
> / < |
大于 / 小于 |
>= / <= |
大于等于 / 小于等于 |
print(5 > 3) # True
print(5 == 3) # False
2.2 if 语句:如果……那么……
score = 85
if score >= 60:
print("及格了!")
注意缩进! Python靠"缩进"(也就是行首空4个空格)来判断代码属于哪个范围,这是Python最重要的规矩之一,不能省略,也不能随意增减。
2.3 if / elif / else:多重选择
score = int(input("请输入你的考试分数:"))
if score >= 90:
print("优秀")
elif score >= 75:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格,要加油了")
程序会从上往下依次判断,一旦某个条件成立,就执行对应的代码,然后跳过后面所有的判断。
2.4 逻辑运算符:and / or / not
age = int(input("请输入年龄:"))
has_ticket = True
if age >= 18 and has_ticket:
print("可以入场")
else:
print("不能入场")
and(并且,两个条件都满足才行)、or(或者,满足一个就行)、not(取反)。
课堂练习(第2课时)
练习3:写一个程序,让用户输入体重(kg)和身高(m),计算BMI(公式:BMI = 体重 / 身高的平方),然后根据BMI输出"偏瘦"(<18.5)、"正常"(18.5~24.9)、"超重"(≥25)。
练习4:写一个程序,判断用户输入的年份是否是闰年(闰年规则:能被4整除但不能被100整除,或者能被400整除)。
第3课时(50分钟):循环与列表——让程序自动重复干活
-
下列符号中,表示"等于"的比较运算符是:
A.=
B.==
C.!=
D.<= -
Python中判断代码属于哪个范围(比如属于if语句内部),靠的是:
A. 花括号{}
B. 分号;
C. 缩进(行首空格)
D. 冒号数量 -
下面代码,当
score = 70时,会输出什么?if score >= 90: print("优秀") elif score >= 75: print("良好") elif score >= 60: print("及格") else: print("不及格")A. 优秀
B. 良好
C. 及格
D. 不及格 -
age >= 18 and has_ticket这个表达式,只有在什么情况下结果为True?
A. 两个条件只要有一个成立
B. 两个条件都必须成立
C. 两个条件都不成立
D. 与has_ticket无关 -
not运算符的作用是:
A. 判断相等
B. 取反(真变假,假变真)
C. 求和
D. 循环
学习目标
- 掌握
for循环和while循环 - 认识列表(list),学会存一串数据、遍历一串数据
3.1 列表:一个可以装很多东西的盒子
fruits = ["苹果", "香蕉", "橙子"]
print(fruits[0]) # 苹果,注意:编号从0开始,不是1
print(fruits[1]) # 香蕉
print(len(fruits)) # 3,列表里一共有几个元素
fruits.append("葡萄") # 往列表末尾添加一个新元素
print(fruits)
3.2 for循环:把列表里的东西挨个拿出来处理
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print("我喜欢吃", fruit)
配合 range() 可以做"重复N次"这种最常见的循环:
for i in range(5): # 从0数到4,一共5次
print("这是第", i + 1, "次打印")
3.3 while循环:条件满足就一直重复
count = 0
while count < 5:
print("现在是第", count + 1, "次")
count = count + 1 # 别忘了让count变化,不然会无限循环卡死!
课堂练习(第3课时)
练习5:用列表存5个你的朋友的名字,用 for 循环把每个名字打印出来,格式为"你好,XX!"。
练习6:用 while 循环,计算1加到100的总和(1+2+3+...+100),并打印结果。
第4课时(50分钟):函数与字符串——让代码变得整洁、可复用
学习目标
- 理解为什么需要函数(避免重复写代码)
- 会自己定义函数、调用函数、传参数、拿返回值
- 掌握几个最常用的字符串处理方法
4.1 函数:把常用的一段代码"打包"起来
def greet(name): # 定义一个叫greet的函数,接收一个参数name
print("你好," + name + "!很高兴认识你")
greet("小明") # 调用函数,传入"小明"
greet("小红") # 再调用一次,传入"小红"
函数可以有"返回值",用 return 把结果送出去:
def add(a, b):
result = a + b
return result
sum_value = add(3, 5)
print(sum_value) # 8
4.2 常用字符串方法
text = " Hello Python "
print(text.strip()) # 去掉首尾空格 -> "Hello Python"
print(text.lower()) # 全部小写
print(text.upper()) # 全部大写
print(text.replace("Python", "World")) # 替换
print(len(text)) # 字符串长度
name = "张伟"
print(f"我叫{name},正在学Python") # f-string,最方便的拼接字符串方式
课堂练习(第4课时)
练习7:写一个函数 is_even(number),判断传入的数字是不是偶数,是则返回 True,否则返回 False。写完后分别用3和8测试一下。
练习8:写一个函数 count_vowels(text),统计一段英文文本中元音字母(a, e, i, o, u,不区分大小写)出现的次数。
第5课时(50分钟):综合实战——做一个"猜数字"小游戏
前面4课学的知识,这一课全部用上,做一个完整的小项目,体会一下"从0到1做出一个东西"的成就感。
5.1 项目需求
- 电脑随机生成一个1到100之间的数字
- 用户不断输入猜测的数字
- 每次猜完,程序提示"太大了"或"太小了"
- 猜对了,告诉用户一共猜了几次,游戏结束
5.2 完整代码
import random # 导入"随机数"工具包
def guess_number_game():
target = random.randint(1, 100) # 生成1~100的随机整数
attempts = 0 # 记录猜测次数
print("我已经想好了一个1到100之间的数字,你来猜猜看!")
while True: # 无限循环,直到猜对才用break跳出
guess = int(input("请输入你猜的数字:"))
attempts = attempts + 1
if guess > target:
print("太大了,再试试~")
elif guess < target:
print("太小了,再试试~")
else:
print(f"恭喜你猜对了!答案就是{target},你一共猜了{attempts}次")
break # 猜对了,跳出循环,结束游戏
guess_number_game() # 调用函数,启动游戏
5.3 代码逐句拆解
import random:Python自带了很多"工具包",random是专门处理随机数的,用之前要先"导入"random.randint(1, 100):生成一个1到100之间的随机整数(包括1和100)while True:一个永远成立的条件,代码会不停循环,直到我们用break主动打断它break:立刻跳出当前循环,不再执行后面的循环内容
这个例子把变量、判断、循环、函数全部串起来了——这正是编程的核心:用简单的几个积木,拼出复杂的逻辑。
课后练习(第5课时,进阶项目)
练习9:在上面猜数字游戏的基础上,增加一个限制:最多只能猜7次,如果7次都没猜对,输出"游戏失败,正确答案是XX"。
练习10(挑战题):写一个"学生成绩管理"小程序:用一个列表保存5个学生的成绩,写一个函数计算并打印这5个成绩的平均分、最高分、最低分。(提示:Python自带 max()、min()、sum() 函数可以直接用)
二、学完之后,接下来学什么?
5课时只是把Python的"地基"打好了。接下来可以往这几个方向深入:
- 字典(dict)和文件读写:处理更复杂的数据、把数据存进文件里
- 面向对象编程(class):学会像搭积木一样组织更大的程序
- 一个实用方向:比如用
requests库爬取网页数据、用pandas处理Excel表格、用Flask写一个小网站
不用急,把这5课的内容吃透、练习都亲手敲一遍,比囫囵吞枣学10课更重要。
三、所有练习参考答案
# 练习1
name = "张伟"
age = 28
city = "珠海"
print("大家好,我叫" + name + ",今年" + str(age) + "岁,来自" + city)
# 练习2
age = int(input("你今年几岁?"))
print("再过10年你将会是", age + 10, "岁")
# 练习3
weight = float(input("请输入体重(kg):"))
height = float(input("请输入身高(m):"))
bmi = weight / (height * height)
if bmi < 18.5:
print("偏瘦")
elif bmi < 25:
print("正常")
else:
print("超重")
# 练习4
year = int(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(year, "年是闰年")
else:
print(year, "年不是闰年")
# 练习5
friends = ["小明", "小红", "小刚", "小丽", "小华"]
for friend in friends:
print("你好," + friend + "!")
# 练习6
total = 0
count = 1
while count <= 100:
total = total + count
count = count + 1
print("1加到100的和是:", total)
# 练习7
def is_even(number):
if number % 2 == 0:
return True
else:
return False
print(is_even(3)) # False
print(is_even(8)) # True
# 练习8
def count_vowels(text):
vowels = "aeiouAEIOU"
count = 0
for char in text:
if char in vowels:
count = count + 1
return count
print(count_vowels("Hello Python")) # 3
# 练习9
import random
def guess_number_game_limited():
target = random.randint(1, 100)
attempts = 0
max_attempts = 7
while attempts < max_attempts:
guess = int(input("请输入你猜的数字:"))
attempts = attempts + 1
if guess > target:
print("太大了,再试试~")
elif guess < target:
print("太小了,再试试~")
else:
print(f"恭喜你猜对了!答案是{target},你一共猜了{attempts}次")
break
else:
print("游戏失败,正确答案是", target)
guess_number_game_limited()
# 练习10
def analyze_scores(scores):
average = sum(scores) / len(scores)
highest = max(scores)
lowest = min(scores)
print("平均分:", average)
print("最高分:", highest)
print("最低分:", lowest)
scores = [78, 92, 85, 60, 99]
analyze_scores(scores)
祝你学习顺利,早日写出属于自己的第一个Python小程序!

浙公网安备 33010602011771号