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 官网
在官网找安装程序进行安装。
image
如果不想安装 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 就可以打开文件。
image
image

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个空格。一层缩进由上一行代码末尾的冒号开始。
image

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("没分数")

image

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")

运行结果,看不清别怪我:
image
在 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 字典是什么

字典和列表类似,但又完全不一样。
列表更像是一个个按顺序摆放的盒子,每个盒子有一个序号,盒子里有内容。
字典更像是一个个乱放的盒子,但每个盒子都有独特的姓名。
就像图片里的那样。
image
列表的每个序号都有对应的内容,字典的每个名字也有对应得内容。
在字典中,盒子的名字叫做键,盒子的内容叫做值。

4.2 字典的写法

image
字典最外侧是花括号,每个键与值之间用英文分号隔开,每个键值与键值之间,用逗号隔开。
字典的键和值都要以一种变量类型存在,比如字符串、整数等。
假如直接{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 集合

集合是一种很少有人会用的变量类型,和字典唯一的区别,就是没有键,只有值。
同时也像一堆乱放的没名字也没序号的盒子,很难分清。
不多介绍,自己试试就行 (其实是作者懒) 。
image
同样,字典也可以遍历。

posted @ 2024-09-17 14:55  LGCR837  阅读(47)  评论(0)    收藏  举报