Python 启蒙教程
本文原写自2022年12月,那时我小学五年级,一直放在电脑D盘,无从分享。
本文献给想学Python但又无从下手的小学生和初中生,但前提会用电脑。
为了减少 博客园 的负担,部分图片使用其他图床。
1 Python启蒙
1.1 Python是什么
Python是一个编程语言,因为简单易学和强大的功能而被广泛使用,处处都有它的踪影。
Python现在常用的版本有2.x和3.x,不过Python现在广泛推广3.x,一些2.x的代码需要修改才能在3.x运行,这个教程会学习Python3的内容。
1.2 安装Python
作者懒得写安装过程了,自行上网搜索,附上 Python 官网。
在官网找安装程序进行安装。

如果不想安装 Python 的话,可以在网上找一些 Python在线编程 的网站,不过会有很多的功能限制。
1.3 使用IDLE编写程序
安装好 Python 后,在开始菜单里找到 IDLE (Python 3.x) 打开,这是Python自带的代码编辑器,打开的第一个窗口是交互式窗口,在提示符">>>"后输入代码按回车,可以直接看到结果。点击菜单栏里的 File --> New File 或按键盘 Ctrl + N 打开代码编辑窗口,可以在这里输入代码编写程序。写好程序后,点击 File --> Save 或按键盘 Ctrl + S 保存文件。在菜单中点击 Run --> Run Module 或按下键盘 F5 运行程序。点击 File --> Open 或按 Ctrl + O 就可以打开文件。


1.4 输出 Hello World
令人心动的时刻来了,显示一个 Helo World !!!
Hello World 你好世界 (为什么选这段文字是因为这是一个风俗)
在Python中,打印函数print()可以在屏幕上输出文字。
print("Hello World")
在这段代码中print()是一个输出用的函数。被它用括号抱起来的"Hello World"是一个字符串,字符串就是一串文字,用两个"把文字都包起来就行。
Python中,一行就是一个步骤,Python会从上到下运行你的一个个步骤。
1.5 注释
注释是一段提示,可以用注释告诉别人你的代码是干什么用的。Python解释器(运行Python代码的软件)不会识别你的注释。
在一行代码的末尾加上"#"(井号),这行"#"后面的内容就都是单行注释。
用三个单引号或双引号为一边括起来的,是多行注释。
print("Hello World") #显示 Hello World
#我是单行注释
"""
我是多行注释
人生苦短 我选Python
Hello World
"""
print("Hello World")
"""多行注释也可以在一行内"""
1.6 变量
变量,一个会变化的量,是程序中一个重要的东西,它可以储存数据。在Python中,一个变量可以直接赋值使用。
apples = 5 #把变量apples赋值数字5,代表苹果有5个
变量要清晰明了,最好能让别人明白这个变量的用途。
变量只能是英文字母、数字、下划线组成,只能以英文字母开头,变量名不能是一个函数,大小写不同就是两个变量。虽然Python在最新版本中支持中文,但这样容易引发程序错误。
apples = 5 #苹果有5个
print("苹果有",apples,"个") #输出苹果的数量,在print()中,可以用英文逗号分开几个量。
如上述代码,变量被使用了,会在交互窗口输出苹果有 5 个的提示。
1.7 输入函数 input()
一个程序,只有输出,没有输入,那么它能做的事情就很少。在Python中,input()函数能实现输入字符串。
name = input("请输入您的姓名:") #input()询问用户名称,在把字符串回答传给变量name
print(name,"很高兴认识你") #print()先说出用户的名称,再问好
在运行之后,程序询问姓名,回答你的名字,并按Enter回车发送字符串,然后程序就来问好了。
1.8 运算符
在Python中,也有加减乘除。打开交互式窗口试试吧。
加法 +
减法 -
乘法 *
除法 /
求余数 %
次方 **
取整除法 //
>>> 1 + 1
2
>>> 8 - 5
3
>>> 4 * 7
28
>>> 42 / 7
6.0
>>> 18 % 4
2
>>> 5 ** 3
125
>>> 18 // 4
4
当然,我们也可以把他写成一个程序。
a = 35
b = 7
print("35 + 7 =" , a + b)
print("35 - 7 =" , a - b)
# 就写两个例子,其他自己写!
运行结果如下
35 + 7 = 42
35 - 7 = 28
2 判断与循环
2.1 缩进
缩进是Python中一种重要的形式,用来区分层次,通常以四个空格的形式存在,但只要同级别的缩进空格一致就不会出问题。
提示:尽量不要使用Tab键进行缩进,一些版本上会出现错误,还可能和四个空格区分不出而出现错误(部分编辑软件会自动转换Tab为空格)。
key = input("请输入密码:")
if key == "666789":
print("密码正确")
print("欢迎使用")
else:
print("密码错误")
如上面这段代码,是一个使用if判断语句的代码,几个print()前面都有空格,这就是缩进,一个层次统一比上一层多N个空格。一层缩进由上一行代码末尾的冒号开始。

2.2 if 判断语句
说到判断,就需要认识一种Python中的量的类型——布偶型Bool
True 真 False 假 ( 注意要大写 )
if True或False: #必须
如果True就要执行这里
elif True或False: #选择性
如果第一次False第二次True就执行这里
elif True或False: #选择性
如果前面都False这次True就执行这里
#... 选择性
else: #选择性
如果都False就执行这里
上面是一个if语句大纲,if、elif、else这些层次平齐,执行的代码都要缩进,一个判断中最少要有一个if。
== 等于
!= 不等于
大于
< 小于
= 大于等于
<= 小于等于
在交互式窗口里试试
>>> 4 + 9 == 13
True
>>> 8 + 8 > 23
False
也可以写进程序,放进if语句。
a = 8
b = "8"
if a == b:
print("一样")
else:
print("不一样")
结果当然是不一样,因为a是数字(整数类型),而b是字符串。
用if做一个分数等级判断器,看看考了优良还是合格。
100 满分 90 优秀 80 良好 60 合格 1 不合格 0 没分数
a = int( input("请输入分数:") ) # int() 可以把其他类型转换成整数类型,因为字符串不能进行比较
if a > 100 or a < 0: # 先挑出错误的分数
print("请检查是否输入正确的分数")
elif a == 100:
print("满分")
elif a >= 90:
print("优秀")
elif a >= 80:
print("良好")
elif a >= 60:
print("合格")
elif a >= 1:
print("不合格")
elif a == 0:
print("没分数")

2.3 or , and , not
or 是或,只要两边有一边是真的,就会变成真。
>>> 1 == 4 or "6" == "6"
True
>>> True or False
True
>>> True or True
True
and 是与,只要两边都是真的,就会变成真的。
>>> False and True
False
>>> False and False
False
>> True and True
True
not 是否,它可以把一个值反过来。
>>> not False
True
>>> not True
False
2.4 for 循环语句
假如有一个程序,要求输出一千遍遍同样的文字,那这么多个print()要打到什么时候,用复制粘贴也可能打多打少,这时候,就要用到循环。
如果你知道你要循环几遍,就可以用 for 循环语句,更加方便。
for i in range(1000):
print("Don't copy")
运行结果,看不清别怪我:

在 range() 里,填上要循环的次数,for和in之间的变量i就是目前循环了几次的变量(可以改成其他名称),i 会从 0 到 1000之前(999)。
如果range()里写的在详细一些,也一样。
range(20) # 到20之前
range(0,20) # 从0 到20之前
range(0,1,20) # 从0间隔1到20之前
变量 i 同样可以修改为其他变量,如a\b\c\d。
for循环可以一层套一层,只要缩进正确。
2.5 while 循环语句
while 也是一种循环语句,与for不同的是,它更适合不知道要循环几次的地方。
while i < 8:
print("hello")
i += 1 # i += 1 同等与 i = i + 1
while的工作原理是:如果后面的值为真,开始循环,每循环完一次,又会去判断,如果为真,就继续下一轮循环,如果为假,就退出循环。
while循环也可以一层套一层。
2.6 break 语句
在循环中,经常能看到break语句,它的作用就是跳出循环。无论在什么地方,break都能跳出一层循环,这个循环可能是for,也可能是while。
for i in range(10):
print(i)
if i == 7:
break
上面这些代码,执行结果如下。for循环从0开始,到7的时候,被break跳出了循环。
0
1
2
3
4
5
6
7
2.7 continue 语句
continue 语句也出现在循环当中,它的作用就是跳过本次循环。当循环遇到continue的时候,for循环会直接进行下一次,如果已经是最后一次,就会正常跳出循环,而while遇到continue时,会跳过循环后面的语句,再次判断,真就新一次循环,假就跳出循环。
for i in "Pyxxthxxon": # 让i遍历"Pyxxthxxon"的每一个字符
if i == "x": #检测"x"
continue #如果是"x"就跳过
print(i,end="") #输出i,end=""是将print()输出末尾不换行。
这一段代码会输出Python,因为跳过了x。
2.8 for...else 和 while...else 语句
如果一个for循环或while循环不是通过break跳出的,也就是正常执行完的,就会执行后面的else语句。
for i in range(6):
if i == 3:
break
else:
print("我不会被执行,因为这个for循环到3的时候用break跳出来了")
print("-------------") # 分界线
i = 0
while i < 6:
i += 1
else:
print("我会被执行,因为这个while循环没有被break跳出")
执行结果
-------------
我会被执行,因为这个while循环没有被break跳出
2.9 pass 空语句
pass是一个空语句,它什么都不干,就是占位用的,可以保证程序的结构完整性。
a = 666
if a != 666:
pass #这行是空语句,占位用的
else:
print("Yes")
3 列表与元组
3.1 print的更多参数
print()其实有很多的参数,下面列举常用参数
end是修改换行的参数,例如print("hello",end=""),末尾会变成空白而不是换行。
sep是修改逗号间隔的参数,例如print("a1","a2",sep="-")就会输出a1-a2。
print之中输出的量与量之间的逗号可以使用+来代替,输出的空格也会消失,但前提两个必须都是字符串,例如print("S"+"B")。
3.2 列表的认识
Python中有一种变量类型叫做列表,列表可以包含多个变量,也可以只包含一个变量。
["我是0号","我是1号",2,3]
上面就是一个普通的列表,列表可以包含任意的变量,因为列表本身是一种变量,所以可以套娃。
Python以及许多编程语言都将数列以0为开头。Python列表就是如此,量与量之间使用逗号分隔,第一个是 0 号,第二个是 1 号,第三个就是 2 号。
3.3 列表的读取
以下代码先创建了一个名叫 a 的列表,然后读取第 0 个并输出,又读取第2个并输出。
a = ["北师大","浙师大","缅_北师大"] # 创建列表a,并设置三个量
b = a[0] # 将b设为a的第0项
print(b) # 输出变量b
print(a[2]) # 直接输出a的第2项
运行结果如下
北师大
缅_北师大
代码中就可以看出来,可以使用列表名称[位数]来获取列表中的一个量。
3.4 列表的修改
可以使用列表[位数]来获取列表中的一个量,也可以用这种方式修改列表的一个量。
a = ["北师大","浙师大","缅_北师大"] # 创建列表a,并设置三个量
print(a) # 输出列表a
a[2] = "大聪明师范学校" # 修改第2项的值
print(a) # 再次输出列表a
运行结果如下
['北师大', '浙师大', '缅_北师大']
['北师大', '浙师大', '大聪明师范学校']
3.5 读取列表和字符串的片段
如果只想要列表或字符串的一部分,可以用方括号[:],在中间写上要获取的片段。
a = "0123456789" # 创建一个字符串
print(a[2:5]) # 截取字符串从2开始到5之前的值
print(a[2:]) # 截取字符串从2开始到结尾的值
print(a[:-2]) # 截取字符串从开头到倒数第2个的值(没有倒数0)
b = ["0","1","2","3","4","5","6","7","8","9"] # 创建一个列表
print(b[2:5]) # 截取列表从2开始到5之前的值
print(b[2:]) # 截取列表从2开始到末尾的值
print(b[:-2]) # 截取列表从开头到倒数第2个的值(没有倒数0)
运行结果:
234
23456789
01234567
['2', '3', '4']
['2', '3', '4', '5', '6', '7', '8', '9']
['0', '1', '2', '3', '4', '5', '6', '7']
说简单点,方括号中间,冒号的作用是,从几到几之前
可以看到,第2项被修改了
3.6 往列表添加内容
我们可以使用append()方法来向列表末尾添加内容,方法实例如下。
a = ['谷歌','百度','必应'] # 创建列表a
print(a) # 输出列表a
a.append('搜狗') # 添加内容"搜狗"
print(a) # 再次输出列表a
运行结果:
['谷歌', '百度', '必应']
['谷歌', '百度', '必应', '搜狗']
3.7 从列表中删除内容
我们可以从列表中删除内容,并让后面的内容自动往前靠,只需要用到del,翻译为删除。
a = ['谷歌','百度','必应','搜狗'] # 创建列表a
print(a) # 输出列表a
del a[2] # 删除位于第2的内容
print(a) # 再次输出列表a
运行结果:
['谷歌', '百度', '必应', '搜狗']
['谷歌', '百度', '搜狗']
3.8 遍历列表内容
假如我们要对列表每个内容分开操作,可以使用for循环。
而len(列表或字符串)这个函数可以得到列表的项数或字符串的字符数。
比如要将每个内容分开输出,我们可以写出以下程序:
a = ['谷歌','百度','必应','搜狗']
for i in range(len(a)):
print(a[i])
当然也可以使用for的遍历方法(推荐):
a = ['谷歌','百度','必应','搜狗']
for i in a: # 变量i是循环中列表当前循环到的变量值
print(i) # 输出变量i
两种运行结果一致:
谷歌
百度
必应
搜狗
3.9 元组
元组是一种和列表及其相似的类型,和列表唯一的区别就是,元组创建后就不能够修改,只能读取内容。元组使用普通括号写成。要修改元组,只能整个元组一起修改。
a = ('a',"b",'c')
4 字典与集合
4.1 字典是什么
字典和列表类似,但又完全不一样。
列表更像是一个个按顺序摆放的盒子,每个盒子有一个序号,盒子里有内容。
字典更像是一个个乱放的盒子,但每个盒子都有独特的姓名。
就像图片里的那样。

列表的每个序号都有对应的内容,字典的每个名字也有对应得内容。
在字典中,盒子的名字叫做键,盒子的内容叫做值。
4.2 字典的写法

字典最外侧是花括号,每个键与值之间用英文分号隔开,每个键值与键值之间,用逗号隔开。
字典的键和值都要以一种变量类型存在,比如字符串、整数等。
假如直接{a1:abcdefg,a2:hijklmn}的话,是不行的,他们都会被当成变量,也就是把变量的内容填入字典当中,如果没有这些变量的话,会直接报错。除非你本来就把要变量的内容填入字典,不然这样不会按照你理想的方向运行。
字典和列表一样可以用方括号得到一个值,只不过字典填的不是序号,而键(名字)。
例子如下
a = {"绿田野":"大聪明","李丑":54188}
# 创建变量
print(a) # 直接输出整个列表
print(a["绿田野"]) # 输出字典a键为"绿田野"的值
运行结果如下
{'绿田野': '大聪明', '李丑': 54188}
大聪明
另外,字典是可以套娃的(就是容易看错)。
4.3 遍历字典
跟列表一样,字典也是可以使用for遍历的,例子如下。
a = {"绿田野":"大聪明","李丑":54188}
# 创建变量
for i in a: # 遍历字典a
print("键",i) # 输出遍历到的键(名字)
print("值",a[i]) # 输出键对应的值(内容)
字典直接遍历会返回键而不是值,所以要获得对应的值还要再去字典中获取。运行结果如下。
键 绿田野
值 大聪明
键 李丑
值 54188
4.4 修改字典的值
和列表一样的修改方法,先指定一个键,在用等号修改值得内容。
a = {"绿田野":"大聪明","李丑":54188}
# 创建变量
print(a) # 输出原先的字典
a["绿田野"] = "Big聪明"
print(a) # 输出删除后的键
结果如下
{'绿田野': '大聪明', '李丑': 54188}
{'绿田野': 'Big聪明', '李丑': 54188}
4.5 删除字典的一个键
使用del可以删除字典中的一个键(值也会连带消失)。
用法del 字典[键]
实例如下
a = {"绿田野":"大聪明","李丑":54188}
# 创建变量
print(a) # 输出原先的字典
del a["李丑"] # 删除"李丑"
print(a) # 输出删除后的键
运行结果
{'绿田野': '大聪明', '李丑': 54188}
{'绿田野': '大聪明'}
4.6 为字典添加键
给字典添加新的内容的方法比列表简单多了,用修改字典的方法就行,会自动创建,直接上实例。
a = {"绿田野":"大聪明","李丑":54188}
# 创建变量
print(a) # 输出原先的字典
a["渡易尘"] = "NotClever"
print(a) # 输出删除后的键
运行结果
{'绿田野': '大聪明', '李丑': 54188}
{'绿田野': '大聪明', '李丑': 54188, '渡易尘': 'NotClever'}
4.7 集合
集合是一种很少有人会用的变量类型,和字典唯一的区别,就是没有键,只有值。
同时也像一堆乱放的没名字也没序号的盒子,很难分清。
不多介绍,自己试试就行 (其实是作者懒) 。

同样,字典也可以遍历。

浙公网安备 33010602011771号