Python 学习笔记

用 HTML 把知识可视化 · 边学边记
返回知识目录
LESSON 01–02 / 基础 · 循环
第一课 · Python Language Basics

和 Python 的
第一次握手 👋

Python 是最适合新手入门的语言——它读起来几乎像日常英语,却能做网站、数据、AI、自动化……本课你只需要搞懂四件事:打印、变量、输入、判断。下面每一节都能「点开运行」,亲手看到结果。

# 零基础友好 # 可交互 # 含自测 Guido van Rossum
1

认识 Python:它是什么,又能干嘛

先搞懂「为什么学」,动力才够

可以把编程语言想象成一种按照严格「语法」、一步步给计算机下达指令的方式。Python 的语法是所有语言里最简洁、最干净的之一——基本都是单词 + 缩进,没有一堆乱七八糟的符号。

🐍 一个小八卦

Python 由荷兰程序员 Guido van Rossum1989 年圣诞节当个人项目开始写,1991 年公开发布。名字来自英国喜剧团 Monty Python's Flying Circus,跟蛇没关系——Guido 只是喜欢那个节目。他有一条著名哲学:代码应该像 plain English 一样好读,哪怕因此少一点「聪明」。这正是 Python 用缩进而不是花括号 {} 的原因——它逼你把代码写得整齐。

今天它已经是世界上用得最广的语言之一,几乎无处不在:

01
数据科学分析表格、业务数据、统计(Pandas 等)
02
AI / 机器学习当下最火,大量 AI 研究和工具都用它构建
03
网站后端网站「幕后逻辑」(Django、Flask)
04
自动化脚本写小脚本自动干重复的苦活
05
科学计算科研、物理、生物、工程大量使用
06
入门教学全球编程入门课的第一语言,所以我们从这开始
你不必现在就决定方向。无论以后走数据、网站还是 AI,本课打下的变量、判断这些地基都是通用的。
2

第一个程序:让屏幕说话

print() 是你和电脑说的第一句话

就这么简单几行。运行后,电脑会把括号里的内容「打印」到屏幕上。

hello.py
print("Hello, world!")
输出 OUTPUTHello, world!

两个新朋友

print(...) 是一个函数——可以理解为你让电脑执行的一条命令,「print」意思是「把这个内容显示在屏幕上」。括号里用引号包起来的 "Hello, world!" 叫做字符串(string)——只是编程里对「一段文字」的说法。

3

变量:贴了标签的盒子

把信息存起来,以后随时拿出来用

变量(variable)就像一个贴了标签的盒子,用来存放信息。你先把一段文字和一个数字分别存起来,之后再拿出来用。

variables.py
name = "Alex"
age = 25

print("My name is", name)
print("I am", age, "years old")
输出 OUTPUTMy name is Alex
I am 25 years old

📦 亲手感受一下「盒子」

在下面输入变量名和值,看看「贴标签的盒子」是怎么装的:

name 25

→ 代码里写:name = "Alex",age = 25

变量不是钉死的:可以改,可以算

盒子里的东西能更新。age = age + 1 就是先做加法、再把结果存回同一个盒子。

math.py
age = 20
age = age + 1
print(age)
输出 OUTPUT21

🧺 补充:一个盒子装多个东西(列表)

前面学的变量是「一个盒子放一样东西」。如果有一堆相关的东西(比如好几种水果),一个一个建变量会很麻烦。这时就用 方括号 [] 造一个列表(list)——它像一个带多个编号格子的盒子,一口气装下好几个值。

list.py
fruits = ["apple", "banana", "cherry"]
print("第一个水果是", fruits[0])     # apple
print("共有", len(fruits), "种水果")     # 3
输出 OUTPUT第一个水果是 apple
共有 3 种水果
最容易踩的坑:编号从 0 开始! fruits[0] 是第一个 "apple",fruits[1] 才是 "banana"。这个「从 0 数起」的规则在编程里到处都是,早点习惯它。
4

让程序开口问:input()

从「只会输出」到「会互动」

之前你的程序只输出东西。现在让它互动input(...) 会暂停程序,等你打字按回车,再把你输入的内容存进变量。

greet.py
name = input("What's your name? ")
print("Nice to meet you,", name)
输出 OUTPUT(含你的输入)What's your name? Toolbuddy
Nice to meet you, Toolbuddy
小提醒:input 拿到的永远是「文字(字符串)」。就算你打的是数字,电脑也当文字处理——这正是下一节要解决的。
5

条件判断:让程序会「思考」

if / else 是程序做决定的方式

这是个大招。程序靠它「判断情况、走不同分支」。下面这段代码会问你年龄,再决定说你是成年还是未成年。

age_check.py
age = int(input("How old are you? "))

if age >= 18:
    print("You're an adult.")
else:
    print("You're a minor.")
输出 OUTPUT(输入 20 时)How old are you? 20
You're an adult.

三个新知识点

int(...) 把文字转成数字(因为 input 来的一律是文字,哪怕你打的是数字)。
if 条件: —— 条件为真,就运行它下面缩进的那段。
else: —— 否则,运行另一段。
缩进是认真的! print 前面的 4 个空格不是装饰——它告诉 Python「这一行属于上面的 if / else」。

🧪 自己当电脑,跑一遍

输入一个年龄,看程序会怎么判断:

6

语法符号速查表

把这些记熟,红色波浪线就不可怕了

知道每个符号确切的意思,你就不会被 VS Code 里的报错吓到。

符号名称作用示例
()圆括号调用函数时使用——函数需要的内容放里面print("hi")
[]方括号 · 列表造一个列表(list)——把多个值装进一个带编号格子的「盒子」,用英文逗号隔开fruits = ["apple", "banana"]
""''引号包裹文本(字符串)。两种都行,前后一致即可"hello"
:冒号出现在 if / else / 循环 / 函数后——表示「接下来是一段代码块」if age >= 18:
缩进4 空格 / Tab表示哪些行「属于」上一行带冒号的语句见下方示例
=赋值符把一个值存进变量(「放进盒子」)age = 20
==等于(比较)检查两者是否相等——和 = 不是一回事!if age == 18:
#注释符# 后面的内容 Python 直接忽略——只是写给人看的备注# checks age

常用的比较符号

符号含义符号含义
==等于!=不等于
>大于<小于
>=大于等于<=小于等于
7

新手避坑:两个最常犯的错误

几乎每个人一开始都会栽在这里
1

= 和 == 傻傻分不清

= 是「赋值」(把值放进盒子),== 是「比较」(检查是否相等)。写成 if age = 20: 会直接报语法错误。

if age = 20: # 错!这是赋值,不能用来判断 if age == 20: # 对!这是在检查 age 是不是等于 20
2

忘记加冒号,或缩进搞错

属于 if 内部的那行必须缩进,否则 Python 不知道它归谁管,直接报错。VS Code 通常会在冒号后自动帮你缩进,熟悉后越来越顺手。

if age >= 18: print("adult") # 错!这行没缩进 if age >= 18: print("adult") # 对!缩进 4 格,表示属于 if
💡快速纠错:VS Code 会在你运行前就用红线标出错误,鼠标悬停红线会告诉你哪里出问题。这就是你的安全网——不用把所有东西死记硬背。
8

自测小测验

点选答案,立刻知道对不对
📚

本课英语单词 · Lesson 01

边写代码边学词:音标、释义、最通用例句
这些词在数学 / 编程里很常用,四六级未必会考到。
第二课 · Loops

让代码
替你重复干活 🔁

第一课后你已经会「让电脑做一步」。这一课学 循环——把「重复 N 次」或「对每一样东西都做一遍」交给两三行代码。学完它,你就能写真正像样的自动化小程序了。

# for 循环 # while 循环 # break/continue # 遍历列表
9

为什么需要循环:同一件事别写十遍

循环 = 把「重复」交给电脑

假设你要向屏幕打印 5 次 "Hello"。最笨的写法是把 print("Hello") 抄 5 遍。循环的存在,就是为了不让你抄。Python 主要有两种循环:

for
for 循环「对一串东西,每一个都做一遍」——比如重复 5 次、或列表里的每个水果
while
while 循环「只要条件成立就一直做」——比如数到 0 才停
💡两张循环怎么选?已知次数 / 遍历清单 → 用 for不知道要跑几次、只看条件 → 用 while。新手绝大多数情况用 for 就够了。
10

for 循环:把一件事重复 N 次

for … in … : 是固定句式

for i in range(5): 读作「让 i 依次取 0,1,2,3,4,每取一个就执行一次缩进里的代码」。注意它从 0 开始,且不含末尾那个数

for_range.py
for i in range(5):
    print("第", i, "次")     # 打印 第 0 次 … 第 4 次
输出 OUTPUT第 0 次
第 1 次
第 2 次
第 3 次
第 4 次
缩进是语法,不是风格! 循环(和 if)后面的 : 表示「下面要开始一块代码」,而缩进的那几行才属于循环体。缩进多一格或少一格,Python 都会报错。

range() 还能指定「起点、终点、步长」三种玩法:

📐 range() 的三种写法

range(5)        # 0,1,2,3,4        (从 0 到 4)
range(1, 4)    # 1,2,3           (含 1,不含 4)
range(0, 10, 2) # 0,2,4,6,8       (步长 2,跳着数)
11

用 for 遍历列表:对每样东西都做一遍

第一课学的列表终于派上用场

for 后面不光能接 range,还能直接接一个列表(或任何「可迭代」的东西)。下面的 fruit 会依次变成列表里的每一个值,不用你用 fruits[0]fruits[1] 去数下标。

for_list.py
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print("我喜欢吃", fruit)
输出 OUTPUT我喜欢吃 apple
我喜欢吃 banana
我喜欢吃 cherry
💡想知道「第几个」?用 enumeratefor i, fruit in enumerate(fruits): 会让 i 拿到下标、fruit 拿到值。
12

while 循环:条件成立就一直做

小心别写成「死循环」

while 后面跟一个条件,只要条件为 True 就一遍遍执行缩进代码。一定记得在循环里改变条件,否则它会永远跑下去(死循环)。

while_count.py
n = 5
while n > 0:
    print("倒数", n)
    n = n - 1          # 关键:每轮把 n 减 1,否则永远 > 0
print("发射!")
输出 OUTPUT倒数 5
倒数 4
倒数 3
倒数 2
倒数 1
发射!
死循环示例:如果上面忘了写 n = n - 1,n 永远是 5,程序会不停打印「倒数 5」直到你强制停止。写 while 前先问自己:「什么条件会让它停下来?」
13

中途刹车:break 与 continue

两个小开关,控制循环节奏
break立刻跳出整个循环,后面的轮次都不跑了
continue跳过这一轮剩下代码,直接进入下一轮
break_continue.py
for n in range(1, 6):
    if n == 3:
        break        # 碰到 3 直接停
    print(n)          # 输出 1 2

for n in range(1, 6):
    if n % 2 == 0:
        continue      # 偶数跳过
    print(n)          # 输出 1 3 5(只留奇数)
输出 OUTPUT1
2
1
3
5
上面的 n % 2 是「取模」(求余数)。n % 2 == 0 就是「n 能被 2 整除」——判断奇偶的万能写法。
14

动手练习:把学会的串起来

先自己写,再点开看答案

试试这三道小练习(答案就在运行结果里,先别急着点开 😉):

✏️ 练习 1:打印 1 到 5

for + range 在每行打印 1、2、3、4、5。

ex1.py
for i in range(1, 6):
    print(i)
输出 OUTPUT1
2
3
4
5

✏️ 练习 2:累加 1+2+…+10

用一个变量当「累加器」,循环里不断加进去,最后打印总和。

ex2.py
total = 0
for i in range(1, 11):
    total = total + i
print("总和 =", total)   # 55
输出 OUTPUT总和 = 55

✏️ 练习 3:找出列表里的偶数

遍历 [2, 7, 4, 9, 8],只打印能被 2 整除的数。

ex3.py
nums = [2, 7, 4, 9, 8]
for n in nums:
    if n % 2 == 0:
        print(n)      # 2 4 8
输出 OUTPUT2
4
8
📚

本课英语单词 · Lesson 02

循环 / 列表相关的高频术语
division(除法)与 remainder(余数)这类词,是数学 + 编程的通用词。
下一课预告 · Lesson 03

函数 Functions:把代码打包成「工具」

循环解决「重复执行」,函数解决「重复写代码」。下一课你会学到怎么给一段逻辑起个名字、随时调用,还能传参数、返回结果——这是写出整洁、可维护程序的关键一步。

🧩 先热个身

到目前为止,每次想判断一个数是不是偶数,你都得重写一遍 numbers % 2 == 0。如果给这段逻辑起个名字,需要时就直接叫它——比如 is_even(4)——不就不用每次都重写判断了?这就是函数的思路:可复用、有名字的代码块,能接收输入、做点事、再交回一个结果。

greet.py
def greet(name):
    print("Hello, " + name)

greet("Alex")
下次课前可以先想想:
  • 你觉得 def 这个词可能是哪两个词的缩写?
  • 为什么输入(name)要放在括号里?
  • 「打印点东西」的函数 和「返回一个值」的函数,区别在哪?