【快速入手 Python 基础 | 第1章】:数据存储与运算
Python 基础知识点概览
🎬 博主名称:超级苦力怕
🔥 个人专栏:《Python 基础》
🚀 每一次思考都是突破的前奏,每一次复盘都是精进的开始!
前言
本文主要内容:Python 基础知识点,包含字面量、变量、标识符、数据类型、字符串、键盘录入、运算符等知识点。
1. 前置知识点
1.1 注释
程序添加注释,可以用来解释程序某些部分的作用和功能,提高程序可读性,分为单行注释与多行注释。
单行注释:# 注释内容
# 这是注释,实际运行不显示print("正常内容")多行注释:“”" 注释 “”"
""" 这是多行注释 在三引号内的内容,可以包括换行、单引号、双引号、无需转义(下面会讲解转义) """print("正常内容")2. 字面量
2.1 字面量定义
字面量:程序中直接写出的常量值,如数字、字符串、布尔值等
在编程中,我们可以看到 5,-5 这样的数字,0.3,0.5 这样的小数,“Python 从入门到入土” 这样的文字,像这样固定的值,都叫做字面量
2.2 字面量类型(常见基础数据类型)
| 类型 | 描述 | 字面量示例 / 说明 |
|---|---|---|
| 整数(int) | 整数数字 | 1018-50 |
| 浮点数(float) | 小数 | 3.14-0.52.0 |
| 布尔(bool) | 表达现实生活中的逻辑,真或假 | TrueFalse |
| 字符串(str) | 描述文本的一种数据类型 | "人生苦短,我用Python"'文本' |
| 空值(NoneType) | 表示空或无值,仅包含一个值 | None |
拓展:布尔值可以参与算术运算(True=1, False=0),但这种用法会降低代码可读性,容易引起混淆。建议布尔值仅用于逻辑判断,不参与算术运算。
2.3 代码示例
# 字面量的写法print(100)# 整数(int)print(3.14)# 浮点数/小数(float)print(True)# 布尔(bool)print(False)# 布尔(bool)print("Hello Python")# 字符串(str)print("----------------")# 字符串(str)print(None)# 空值(NoneType)# 布尔类型本质也是整数类型(True = 1; False = 0)print(True+1)# 2print(False-1)# -13. 变量
3.1 变量定义
变量:可以理解为存储数据的“盒子”,每个盒子有一个名字(变量名),里面可以放一个数据(变量值)。当需要修改数据时,只需要更换盒子里的内容即可。
定义格式:变量名 = 变量值num = 1114.1
作用:输出打印、参与运算、记录数据
注意:变量是存储数据的容器,而不是被存储的数据。一个变量只能存储一个值,变量必须赋值才能使用。Python 是动态类型语言,变量不需要声明类型,同一个变量可以先后指向不同类型的对象。
3.2 代码示例
num =1114.1print(num)# 1114.1 num = num +1print(num)# 1115.1 num ="OK"print(num)# Ok num =Trueprint(num)# True num_two =100print(num+num_two)# 101 (num 此时为 True,参与运算为 1)4. 标识符
4.1 标识符定义
标识符:是程序员在代码中为变量、函数、类等元素起的名字
命名规则:
- 只能包含字母( a-z、A-Z )、数字( 0-9 )、下划线( _ )
- 不能以数字开头
- 不能使用关键字:True、False、None、and、or、if 等,详细查阅地址
- 严格区分大小写,age、Age、AGE 是三个变量
命名规范:
- 见名知意:name、age、color
- 多个部分使用下划线连接:update_time、my_name
- 变量英文字母全小写,类的首字母大写
PEP8:Python社区的核心技术文档和标准化机制,为 Python 的 代码风格指南
5. 数据类型
实际上常见的字面量,就是常见的数据类型
5.1 查看数据实际类型
type( ):获取变量中存储的数据的类型,具体语法:type(要查看类型的数据)
isinstance( ):检查数据是否属于指定类型,具体语法:isinstance(数据,类型)
5.2 代码示例
print("Hello")print(type("Hello"))# <class 'str'>print(type(10))# <class 'int'>print(type(3.14))# <class 'float'>print(type(True))# <class 'bool'>print(type(False))# <class 'bool'>print(type(None))# <class 'NoneType'># isinstance() 的使用示例print(isinstance("Hello",str))# Trueprint(isinstance(10,int))# Trueprint(isinstance(3.14,float))# Trueprint(isinstance(True,bool))# Trueprint(isinstance("10",int))# False6. 字符串
在编程中,一个字母、一个标点符号、一个文字都是一个字符,例如 “你” 和 “好” 两个字符,可以串起来,组成"你好",像这样由多个字符组成一条串,就叫做字符串。
6.1 字符串定义
字符串在Python中有三种定义方式,分别为双引号定义、单引号定义、三引号定义(多行字符串),效果如下。
# 双引号定义 s1 ="Hello"# 单引号定义 s2 ='Python'# 三引号定义(多行字符串) s3 =""" 尊敬的客户: 感谢您选择我们公司的产品。 我们将会为您竭诚的服务。 祝好~ """拓充:转义字符
当我们想打印像It's这样,包含引号的内容时,它的引号会产生冲突,例如'It's good',它会将前面两个单引号看作一个字符串,这时候,就需要通过转义字符来表示特殊符号。
作用:在许多语言中表示特殊符号
| 常见转义字符 | 名称 | 作用 |
|---|---|---|
\' | 单引号 | 表示单引号 ’ |
\" | 双引号 | 表示双引号 " |
\n | 换行符 | 开始新的一行(换行) |
\t | 制表符 | 增加缩进,缩进一个制表符(tab)的大小 |
\\ | 反斜杠 | 表示一个反斜杠字符 |
前后对比效果如下
# 引号冲突,将'It'看作字符串,会导致语法错误# print('It's Good)# 解决方法1:转义符print('It\'s Good')# It's Good# 解决方法2:使用单双引号print("It's Good")6.2 字符串拼接
很多时候,我们需要将多个字符串使用 + 拼接起来,方式分为直接书写、加号拼接、字符串变量拼接,如果想让字符串与非字符串拼接,我们需要类型转换
拓展:直接书写可以自动连接,这是因为 Python 允许将多个字符串字面量并置,会自动连接成一个字符串直接书写自动连接是 Python 的语法特性,适用于字符串字面量,但不适用于变量。例如 “超级” “苦力怕” 会自动合并,但 s1 + s2 必须用加号。
# 多个字符串字面量直接写 slogan ="超级""苦力怕"# 超级苦力怕print(slogan)# +号拼接 slogan ="超级"+"苦力怕"# 超级苦力怕print(slogan)# 字符串变量拼接 s1 ="人生苦短" s2 ="我用Python"print("变量拼接: "+ s1 +", "+ s2)# 变量拼接: 人生苦短, 我用Python# 类型转换 s3 ="小明" s4 =8# str() 可以将数字转换为字符串print(s3 +"今年"+str(s4)+"岁")# 小明今年8岁6.3 字符串格式化
在 Python 中,我们在拼接字符串的时候,可以通过类型转换,如 str(17),将17转换为字符串从而进行拼接,但这样太麻烦了,我们可以通过 字符串格式化 的方式,完成字符串和变量的快速拼接。
方式一:通过 % 进行格式化
其中 % 代表占位,s 为字符串首字母,表示要将变量转为字符串放入占位的位置
注意:前面有多少个占位符,后面就要有多少个变量(或数据)除了%s,其他格式如%d用于整数,%f用于浮点数
s1 ="苦力怕" s2 ="苦" s3 ="力怕"print("%s要爆炸了"% s1)#苦力怕要爆炸了print("%s 姓%s 名%s"%(s1,s2,s3))#苦力怕 姓苦 名力怕方式二:通过 f"{}"快速完成格式化
可以通过 f"内容{变量/表达式}" 的形式快速完成格式化
s1 ="苦力怕" s2 ="苦" s3 ="力怕"print(f"{s2+s3}要爆炸了")#苦力怕要爆炸了print(f"{s1} 姓{s2} 名{s3}")#苦力怕 姓苦 名力怕7. 键盘录入
在上述的学习中,我们的数据都是提前写死的,如果我们可以每一次都可以通过键盘输入不同的数据,那么结果会灵活很多,这就用到了 键盘录入
7.1 录入方法
input :获取键盘录入的数据,具体用法为: s = input(提示信息)
当执行 input 语句时,控制台会终止,点击回车,会将你在终止期间输入的数据存储到变量中。
拓展:无论你输入的是什么数据,返回的永远是字符串类型,如果需要数字,需要进行类型转换,如float()7.2 代码示例
当你分别输入姓名、年龄后,才会执行第三条语句
name =input("你的姓名:") age =input("你的年龄:")print(f"姓名为{name},年龄为{age}")7.3 类型转换(拓充)
在上述字符串的时候,简单提到了类型转换,实际上在Python中,字符转换只需要类型(...),就会将括号内的内容转化为对应类型。
- 将其他类型转为int类型:
int(..) - 将其他类型转为str类型:
str(..) - 将其他类型转为float类型:
float(..) - 将其他类型转为bool类型:
bool(..)
# 类型转换示例 num_str ="123" num_int =int(num_str)# 字符串转整数 num_float =float(num_str)# 字符串转浮点数print(num_int,type(num_int))# 123 <class 'int'>print(num_float,type(num_float))# 123.0 <class 'float'># 布尔类型转换print(bool(0))# Falseprint(bool(1))# Trueprint(bool(""))# Falseprint(bool("abc"))# True8. 运算符
我们在小学的时候,就学过加减乘除,这就是最基础的运算符,在程序中,运算符大体分为 算数运算符、赋值运算符、比较运算符、逻辑运算符四种。
8.1 算术运算符
算术运算符,即表示运算的符号,他们作用域一个或多个操作数上,产生一个计算结果,常见运算符如下
| 运算符 | 描述 | 举例说明 |
|---|---|---|
| + | 加法 | ( 1 + 5 ) : 1 加上 5 |
| - | 减法 | ( 8 - 3 ) : 8 减去 3 |
| * | 乘法 | ( 3 * 8 ) : 3 乘以 8 |
| / | 除法 | ( 10 / 5 ) : 10 除以 5,除法结果是小数 |
| // | 整除 | ( 10 // 3 ) : 10 整除 3,整除结果为整数 |
| % | 取余/求模 | ( 10 % 3 ) : 10 模于 3,结果为 1 (10 除 3 取余数) |
| ** | 幂指数 | ( 10 ** 3 ) : 10 的 3 次方 |
代码示例:
算术运算的优先级:与数学一样,括号()> 幂**> 乘除相关* / // %> 加减+ -
# 算术运算符:+ - * / // % **print("10 + 4 =",10+4)# 加print("10 - 4 =",10-4)# 减print("10 * 4 =",10*4)# 乘print("10 / 4 =",10/4)# 除 → 2.5print("10 // 4 =",10//4)# 整除(结果为整数) → 2print("10 % 4 =",10%4)# 取余(求模) → 2print("10 ** 4 =",10**4)# 幂指数,10的4次方 → 10000拓展知识点:精度损失
计算机使用二进制存储数据,而某些十进制小数(如 0.1)无法用二进制精确表示,导致计算结果出现微小误差。这是计算机科学的普遍现象,不是 Python 的 bug。
8.2 赋值运算符
赋值运算符,即表示赋值的符号,将右边的值赋给左边的变量,常见运算符如下
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 赋值运算符 | 把 = 号右边的结果赋值给左边的变量,如 num = 1+2,结果num的值为3 |
| += | 加法赋值运算符 | num += 2 等效于 num = num + 2 |
| -= | 减法赋值运算符 | num -= 2 等效于 num = num - 2 |
| *= | 乘法赋值运算符 | num *= 2 等效于 num = num * 2 |
| /= | 除法赋值运算符 | num /= 2 等效于 num = num / 2 |
| %= | 取模赋值运算符 | num %= 2 等效于 num = num % 2 |
| **= | 幂赋值运算符 | num **= 2 等效于 num = num ** 2 |
代码示例
num =10 num +=10# num = num + 10print("num += 10 后,num = ", num)# 20 num =10 num -=10# num = num - 10print("num -= 10 后,num = ", num)# 0 num =10 num *=10# num = num * 10print("num *= 10 后,num = ", num)# 100 num =10 num /=10# num = num / 10print("num /= 10 后,num = ", num)# 1.0 num =10 num //=10# num = num // 10print("num //= 10 后,num = ", num)# 1 num =10 num %=3# num = num % 3print("num %= 3 后,num = ", num)# 1 num =10 num **=3# num = num ** 3print("num **= 3 后,num = ", num)# 10008.3 比较运算符
比较运算符,即表示比较的符号,常用于比较两个值之间的关系,返回一个布尔类型结果(True 代表关系成立,False 代表关系不成立),常见运算符如下
| 运算符 | 描述 | 实例 |
|---|---|---|
| == | 等于 | a == b 判断a是否等于b |
| != | 不等于 | a != b 判断a是否不等于b |
| > | 大于 | a > b 判断a是否大于b |
| >= | 大于等于 | a >= b 判断a是否大于等于b |
| < | 小于 | a < b 判断a是否小于b |
| <= | 小于等于 | a <= b 判断a是否小于等于b |
代码演示
# 比较运算符: == != > >= < <=print("100 == 100 吗:",100==100)# Trueprint("'100' == '100' 吗:","100"=="100")# Trueprint("100 != 100 吗:",100!=100)# Falseprint("100 < 100 吗:",100<100)# Falseprint("100 <= 100 吗:",100<=100)# Trueprint("100 > 100 吗:",100>100)# Falseprint("100 >= 100 吗:",100>=100)# True8.4 逻辑运算符
逻辑运算符,即表示逻辑的符号,常用于判断多个条件,返回一个最终结果(True 或 False)
| 运算符 | 描述 | 实例 |
|---|---|---|
| and | 逻辑与(并且) | 同时成立才是符合条件的(左右两边都为True,结果才为True) |
| or | 逻辑或(或者) | 只要有一个符合要求的即可(只要左右两边有一个为True,结果就为True) |
| not | 逻辑非(取反) | 取反操作,True变为False,False变为True |
代码示例
# 案例1: 键盘输入一个整数,判断这个数字是否在10~20之间 n =int(input("请输入一个整数:"))# and连接的条件是并且的关系,两个条件同时成立(True),结果才是True;否则,就是Falseprint(f"{n}在10~20之间:", n >=10and n <=20)# 第二种比较方式,等价于 10 <= n and n <= 20print(f"{n}在10~20之间:",10<= n <=20)# 案例2: 键盘输入一个整数,判断这个数字是否不在10~20之间 n =int(input("请输入一个整数:"))# or连接的条件,是或者的关系,只要其中有一个成立(True),结果就是True;全部不成立,结果才是Falseprint(f"{n}不在10~20之间:", n <10or n >20)结语
本文带你认识了Python中的字面量、变量、常见数据类型,掌握了字符串的三种定义和格式化方法,学会了使用算术、赋值、比较、逻辑运算符。
- 如果本文对你有帮助:欢迎点赞、收藏,让更多正在学 Python 的同学看到。
- 遇到问题或有不同理解:可以在评论区留言,一起讨论、互相学习。
- 想系统看更多内容:可以关注专栏《Python 基础》,一起把基础打牢。