【快速入手 Python 基础 | 第1章】:数据存储与运算

【快速入手 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)# -1

3. 变量

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))# False

6. 字符串

在编程中,一个字母、一个标点符号、一个文字都是一个字符,例如 “你” 和 “好” 两个字符,可以串起来,组成"你好",像这样由多个字符组成一条串,就叫做字符串。

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

8. 运算符

我们在小学的时候,就学过加减乘除,这就是最基础的运算符,在程序中,运算符大体分为 算数运算符赋值运算符比较运算符逻辑运算符四种。

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)# 1000

8.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)# True

8.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 基础》,一起把基础打牢。

Read more

C语言游戏开发:Pygame、SDL、OpenGL深度解析

C语言游戏开发:Pygame、SDL、OpenGL深度解析

C语言游戏开发:Pygame、SDL、OpenGL深度解析 一、前言:为什么游戏开发是C语言开发的重要技能? 学习目标 * 理解游戏开发的本质:编写程序实现游戏逻辑、图形渲染、用户交互 * 明确游戏开发的重要性:支撑游戏产业的发展,成为游戏开发者的必备技能 * 掌握本章学习重点:Pygame、SDL、OpenGL的开发方法、避坑指南、实战案例分析 * 学会使用C语言开发游戏,实现游戏逻辑和用户交互 重点提示 💡 游戏开发是C语言开发的重要技能!随着游戏产业的发展,游戏开发的需求越来越大,C语言的高性能和可移植性使其在游戏开发中具有重要地位。 二、模块1:Pygame游戏开发基础 2.1 学习目标 * 理解Pygame的本质:基于SDL的Python游戏库,简化游戏开发 * 掌握Pygame的核心架构:窗口管理、事件处理、图形渲染、音频播放 * 掌握Pygame的开发方法:使用Pygame库进行游戏开发 * 掌握Pygame的避坑指南:避免窗口创建失败、避免图形渲染错误、避免事件处理错误 * 避开Pygame使用的3大常见坑 2.

By Ne0inhk
Python(28)Python循环语句指南:从语法糖到CPython字节码的底层探秘

Python(28)Python循环语句指南:从语法糖到CPython字节码的底层探秘

目录 * 引言 * 一、推导式家族全解析 * 1.1 基础语法对比 * 1.2 性能对比测试 * 二、CPython实现揭秘 * 2.1 字节码层面的秘密 * 2.2 临时变量机制 * 三、高级特性实现 * 3.1 嵌套推导式优化 * 3.2 条件表达式处理 * 四、性能优化指南 * 4.1 内存使用对比 * 4.2 执行时间优化技巧 * 五、最佳实践建议 * 六、总结 * 🌈Python爬虫相关文章(推荐) 引言 在Python编程中,循环语句是控制流程的核心工具。传统for循环虽然直观,但在处理大数据时往往面临性能瓶颈。本文将深入解析Python推导式(列表/字典/集合推导式)的底层实现机制,

By Ne0inhk
Python入门:Python3 pyecharts模块全面学习教程

Python入门:Python3 pyecharts模块全面学习教程

Python入门:Python3 pyecharts模块全面学习教程 Python入门:Python3 pyecharts模块全面学习教程,这篇 pyecharts 学习教程围绕 Python 数据可视化展开,先介绍 pyecharts 基于 ECharts、Python 友好、支持交互式操作、图表类型丰富且高可定制的核心优势;接着详解其安装方法(主流的 pip 一键安装与备用的源码安装)及版本验证方式,并提供常用图表 “类型 - 类名 - 导入方式” 速查表;随后以月度销售额柱状图为案例,演示从数据准备、图表创建到渲染的基础流程,进阶部分通过 set_global_opts 配置标题、坐标轴、工具箱等让图表更专业,还讲解 10 + 内置主题(如亮色系 LIGHT、暗色系 DARK)的切换技巧,最后给出尝试其他图表、

By Ne0inhk