✅
文章目录
Python 🌲
下一篇文章链接:【Python学习笔记②】——基础的数据结构【两万字总结 + ⭐️字符串、列表、元组、字典⭐️ + 增删查改】.
一、Python概述
● TIOBE 编程社区指数是衡量编程语言流行度的指标。该指数每月更新一次,是基于在谷歌等 25 种搜索引擎上与编程相关的搜索查询得到的结果。TIOBE 指数旨在反映编程语言受欢迎程度的变化。
● 可以发现,目前 Python 的排名靠前,这得以与它出色的优点:
① 优点简单(阅读一个良好的 Python 程序就感觉像是在读英语一样)
② 易学(Python 极其容易上手)
③ 免费、开源:Python 是 FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这 个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。这是为什么 Python 如此优秀的原因之一——它是由一群希望看到一个更加优秀的 Python 的人创造并经常改进着的。(这也是我喜欢 Python 的原因之一)
④ 还有很多优点就不赘述了。
● 最后,喝水不忘挖井人,在学习 Python 之前,我们简单了解一下 Python 的作者,Guido von Rossum(吉多·范·罗苏姆,中国 Python 程序员都叫他龟叔),荷兰人。
二、Python环境配置
● PyCharm 是一种 Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用 Python 语言开发时提高其效率的工具,比如调试、语法高亮、智能提示等。
● 所以,前期我将使用 PyCharm 的作为 Python 学习的平台。
● 在此,关于 Python 和 PyCharm 的安装教程,我推荐这一篇博客《PyCharm2021安装教程》:https://blog.csdn.net/qq_50598558/article/details/115611398
三、创建新项目 + 输出 Hello World!
● 第一步:创建新项目有两种方式如下:
● 第二步:创建新项目的相关设置:
◆ 说明:Location
表示该项目保存的路径(我保存在了桌面一个专门放 Python 代码的文件夹中),Interpreter
表示使用的 Python 解释器版本,最后点击 Create 创建项目。
(关于 Python 解释器:计算机的大脑是 CPU,它不能直接处理 Python 语言。CPU 只能直接处理机器指令语言,那是一种由 0 和 1 数字组成的语言。让计算机执行 Python 程序时,需要一个 “翻译官”【它能将 Python 语言转换成 0 和 1 的语言】。这个“翻译官” 就是 Python解释器。没有它,我们的 Python 代码是没有办法运行的。)
● 第三步:创建一个 Python 文本文件(后面我们的代码就会写在这里面):
◆ 说明:在弹出的对话框中输入的文件名 test_hello_world,然后直接按回车键
,即可创建一个 Python 程序的文本文件,文本文件后缀名默认为.py
。
● 第四步:编辑代码 + 代码运行:
◆ 说明:除了右击代码框后,点击Run
来运行代码外,还有Shift+F10
快捷运行代码的方式。
● 运行结果:
● 当以上步骤你都成功完成了,那就万事大吉,接下来就可以顺畅地学习 Python 的基础语法了。
四、Python基础语法
4.1 注释
● 注释就像 “产品说明书”,既可以帮助我们标注变量的意义,也可以方便其它程序员阅读。良好的注释编写是一个优秀程序员的习惯之一。
■ 格式一(单行注释):以#
开头,#
右边的所有东西就是注释内容。
■ 格式二(多行注释):以'''
开头,再以'''
结尾,中间的东西就是注释内容。
● 样例如下:
print('Hello World!')
# 我是一条注释
# i am also a annotation
'''
我是一条多行注释
中间可以写很多东西
起到辅助说明作用
'''
print('Hello World again!')
● 界面显示如下:
4.2 变量及其类型
● 对于重复使用,并且经常需要修改的数据,可以定义为变量,来提高编程效率。
4.2.1 变量的定义
■ 定义变量的语法为: 变量名 = 变量值
● 样例如下:
a = 1
b = 2
c = a + b # 执行加法
print(c) # 打印结果
str_1 = "我"
str_2 = "是一串字符串"
str_3 = str_1 + str_2
print(str_3) # 打印两个字符串的 ”相加结果“
● 运行结果:
4.2.2 变量的类型
● Python中的变量
和生活中的车
一样,都有很多类型,是为了处理不同的需求。比如警车一般装警察,客车装坐车的人,救护车一般装医护人员和病人…
● P y t h o n 变量的类型 = { N u m b e r ( 数字 ) { i n t ( 有符号整型 ) l o n g ( 长整型 ) f l o a t ( 浮点型 ) c o m p l e x ( 复数类型 ) b o o l ( 布尔类型 ) S t r i n g ( 字符串类型 ) L i s t ( 列表类型 ) T u p l e ( 元组类型 ) D i c t i o n a r y ( 字典类型 ) Python变量的类型=\begin{cases}Number(数字) \begin{cases} int(有符号整型) \\ long(长整型) \\ float(浮点型) \\ complex(复数类型) \end{cases} \\ bool(布尔类型) \\ String(字符串类型) \\ List(列表类型) \\ Tuple(元组类型) \\ Dictionary(字典类型) \end{cases} Python变量的类型=⎩ ⎨ ⎧Number(数字)⎩ ⎨ ⎧int(有符号整型)long(长整型)float(浮点型)complex(复数类型)bool(布尔类型)String(字符串类型)List(列表类型)Tuple(元组类型)Dictionary(字典类型)
● 在 python 中,只要定义了一个变量,而且它有数据,那么它的类型就会自动确定了。
● 样例如下:【用type()
函数来查看a
和str_1
两个变量的数据类型】
◆ 说明:
① 为了方便说明,这里我采用了 “交互式运行 python 程序” 的方式。只需要点击图中的Python Console
即可。交互式运行:以人机对话的方式一问一答,直至获得最后处理结果。采用这种方式,程序设计人员可以边设计,边调整,边修改。
② 比如说,我输入“print(‘交互式运行 Python 程序’)”,我只要按一个回车键
,即可直接得到结果。如果我们还想 “跳行输入另外一条语句”,那我们按Shift+回车键
即可。
③ 使用交互式(Python控制台)还有一个好处,如图 ③,我们能直接看到我们已经定义的变量的数值,和它们的数据类型。
4.3 标识符和关键字
● 标识符:由字母、下划线和数字组成,且数字不能开头。(变量名、函数名即是 “标识符” )
● 拥有良好的命名习惯,对于后面的程序合作编写与调试有极大的帮助。
● Python 的命令规则遵循PEP8 标准
,这个在后面会慢慢讲到,这里推荐一个关于其的博客:《Python3中的命名规范大全—基于PEP8标准》:https://blog.csdn.net/weixin_39723544/article/details/82144280。
● 比如说 Python 的文本文件名应该采用大驼峰式命名法: 每一个单字的首字母都采用大写字母,例如: FirstName。所以这里的文件名 “test_hello_word” 最好是 “TestHelloWord”。
● python 一些具有特殊功能的标识符,就是关键字。它们已经被 python 官方使用了,所以不允许开发者自己定义和关键字相同名字的标识符。想查看那些关键词,可以输入以下代码:
import keyword
i = 0
for i in range(len(keyword.kwlist)): # for 循环
print(keyword.kwlist[i], end=" ") # 每次输出以 “ ” 结尾
if i % 10 == 9: # 每输出 10 个就换行
print('\n')
● 运行结果:
4.4 输入与输出
● 在 Python 中,获取键盘输入数据的方法是采用input()
函数。
● 注意:
① input()
的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示
② input()
在从键盘获取了数据以后,会存放到等号右边的变量中
③ input()
会把用户输入的任何值都作为字符串来对待。(这很关键)
● 在 Python 中,输出数据的方法一般是采用print()
函数。
● 除了一般的字符串输出,还有格式化输出
等方式。
● 在程序中,看到了%
这样的操作符,这就是 Python 中格式化输出。常用的格式符号如下:
格式符号 | 含义 |
---|---|
%d | 有符号的十进制整数 |
%s | 字符串 |
%f | 浮点数 |
%c | 字符 |
%% | 输出 % 符号 |
… | … |
● 除了格式符号,还有转义字符(比如上一个例子print()
中的\n
——换行输出的转义字符),这些都是为了帮助方便输出而创造的,我们将会边学便熟悉它们。
● “输入与输出” 的样例:
◆ 说明:
① 变量一般采用的命名方法:变尽量小写,如有多个单词,用下划线隔开。
② 运行结果中,绿色部分就是我输入的内容。
③ print(type(my_password))
语句将会打印出变量my_password
的类型,可见是字符串类型,故在第 2 行语句中,用%s
格式符号。
4.5 运算符
● 常用的算术运算符如下表所示:
运算符 | 含义 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 整除(比如:7 // 2 的运算结果为 3 ) |
% | 取余(比如:7 % 2 的运算结果为 1 ) |
** | 指数(比如:2**10 的运算结果为 1024) |
() | 小括号 |
= | 赋值运算符 |
+= | 加赋值运算符(a += b 等效于 a = a + b) |
… | … |
◆ 说明:混合运算时,优先级顺序为: **
高于 *
、/
、%
、//
高于 +
、-
,高于=
,为了避免歧 义,建议使用()
来处理运算符优先级。 并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
● 还有一部分关系运算符
和逻辑运算符
,将在后面的 “判断语句” 小节配合讲解。
4.6 数据类型转换
● 常用的数据类型转换如下表:
数据类型转换函数 | 含义 |
---|---|
int(x [, base ]) | 将 x 转换为一个整数,第二个参数表示转为为多少进制,默认为10 |
float(x) | 将 x 转换为一个浮点数 |
str(x) | 将 x 转换为字符串 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
chr(x) | 将 x (整数)转换为一个 Unicode 字符 |
… | … |
● 样例如下:
◆ 说明:首先将输入的两个字符串类型的 “数字”,临时转换为int
类型,然后再相加,最后输出结果。
4.7 判断语句
● 在学习判断语句之前,我们需要了解判断条件里常用到的一些关系运算符
和逻辑运算符
。
● 常用的关系运算符如下表所示:
关系运算符 | 含义 |
---|---|
== | 判断两个操作数的值是否相等,如果相等则判断结果变为真 |
!= | 判断两个操作数的值是否相等,如果不相等则判断结果变为真 |
> | 如果 左操作数 > 右操作数,则判断结果变为真,否则为假 |
< | 如果 左操作数 < 右操作数,则判断结果变为真,否则为假 |
>= | 如果 左操作数 ≥ 右操作数,则判断结果变为真,否则为假 |
<= | 如果 左操作数 ≤ 右操作数,则判断结果变为真,否则为假 |
● 常用的逻辑运算符如下表所示:
逻辑运算符 | 含义 |
---|---|
and | 功能和 “且” 一样 |
or | 功能和 “或” 一样 |
not | 功能和 “非” 一样 |
■ 判断语句的格式一:
if 判断条件:
条件满足时, 要执行的语句1
条件满足时, 要执行的语句2
...
■ 判断语句的格式二:
if 判断条件:
条件满足时, 要执行的语句1
条件满足时, 要执行的语句2
...
else:
条件不满足时, 要执行的语句1
条件不满足时, 要执行的语句2
...
■ 判断语句的格式三:
if 判断条件1:
判断条件1满足时, 要执行的语句1
判断条件1满足时, 要执行的语句2
...
elif 判断条件2:
判断条件2满足时, 要执行的语句1
判断条件2满足时, 要执行的语句2
...
elif 判断条件3:
...
■ 判断语句的格式四:
if 判断条件1:
判断条件1满足时, 要执行的语句1
判断条件1满足时, 要执行的语句2
...
elif 判断条件2: # 注意: 如果判断条件1满足, 将不会执行该判断
判断条件2满足时, 要执行的语句1
判断条件2满足时, 要执行的语句2
...
else:
判断条件1和判断条件2都不满足时, 要执行的语句1
判断条件1和判断条件2都不满足时, 要执行的语句2
...
● 在有些环境下,我们还可能用到 “if 嵌套”,我们灵活处理即可。
● 最后补充一个三元运算符,其格式为变量 = 值1 if 判断条件 else 值2
。该运算符只不过是把if-else
判断语句 “精压缩” 了一下。
● 举一个综合的栗子如下:【猜拳游戏】
import random # 引入random库(产生随机数)
print('-------------猜拳游戏---------------')
player_input = input('请你输入你要出的东西(0代表剪刀、1代表石头、2代表布):')
player_input = int(player_input) # 转换成整数型
if player_input == 0:
your_hand = "剪刀"
elif player_input == 1:
your_hand = "石头"
else:
your_hand = "布"
# 产生随机整数:0、1、2 中的某一个
computer_input = random.randint(0, 2) # 电脑出的东西
if computer_input == 0:
computer_hand = "剪刀"
elif computer_input == 1:
computer_hand = "石头"
else:
computer_hand = "布"
print("你出的是 %s" % your_hand)
print("电脑出的是 %s" % computer_hand)
print('所以最后, ', end="")
# 你胜利的条件:”你出剪刀(0), 电脑出布(2)“、“你出石头(1), 电脑剪刀(0)”、“你出布(2), 电脑石头(1)”
if ((player_input == 0) and (computer_input == 2)) or \
((player_input == 1) and (computer_input == 0)) or ((player_input == 2) and (computer_input == 1)):
print('你胜一局')
elif player_input == computer_input:
print('平局')
else:
print('电脑胜一局')
● 运行结果:
◆ 说明:我输入的是 “1”(石头)。
4.8 循环语句
4.8.1 while 循环
● while
和if
的用法基本类似,区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止。
● while
循环和if
语句一样,也可嵌套。
■ 格式:
while 判断条件:
判断条件满足时,要执行的语句1
判断条件满足时,要执行的语句2
...
● 样例如下:【计算 1~100 的累加和】
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print("1~100 的累加和为 %d" % sum)
● 运行结果:
4.8.2 for 循环
● 和while
循环一样,for
也可以完成循环的功能。 但除此之外,在 Python 中 for 循环还可以遍历任何序列的项目,如一个列表或者一个字符串等。(列表、字符串等将在下一篇博客细讲)
● for
循环和while
循环一样,也可嵌套。【比如打印一个矩阵什么的】
■ 格式:
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时,要执行的语句1
循环满足条件时,要执行的语句2
...
● 样例如下:
# 样例一:
sum = 0
for i in range(1, 101):
sum += i
print("1~100 的累加和为 %d\n" % sum)
# 样例二:
my_hometown = 'ChongQing'
for c in my_hometown:
print(c, end=',')
● 运行结果:
◆ 说明:range(a, b, c)
表示变量i
从a
开始取值,一直取到b-1
【即表示 a ≤ i<b】,取值间隔为c
【此处我省略了c
,默认取值间隔为 1 】
4.8.3 break和continue
● break
会立即终止循环,跳转到循环之后开始执行。
● continue
会立即结束当前这一次循环,跳转到下一轮循环的条件判断。
● 注意:
① break
/continue
只能用在循环中,除此以外不能单独使用。
② break
/continue
在嵌套循环中,只对最近的一层循环起作用。
● 样例如下:
# 样例一:
sum = 0
for i in range(1, 6):
if i == 3:
break
sum += i
print("1~5(除开3、4、5)的累加和为 %d\n" % sum)
# 样例二:
sum = 0
for i in range(1, 6):
if i == 3:
continue
sum += i
print("1~5(除开3)的累加和为 %d\n" % sum)
● 运行结果:
● 至此 Pyhton 的基础语法部分已经学完,后面还有 “Python——基础的数据结构”、“Python——函数” 等等文章,后面更新。
五、参考书籍
[1]《Python编程_从入门到实践》
[2]《Python程序设计——第3版》
下一篇文章链接:【Python学习笔记②】——基础的数据结构【两万字总结 + ⭐️字符串、列表、元组、字典⭐️ + 增删查改】.
⭐️ ⭐️