Python
1. 字面量
1.1 定义
字面量:在代码中,被写下来的固定的值,称之为字面量
1.2 常用的值类型
Python中常见的有6种值(数据)类型
| 类型 | 描述 | 说明 |
|---|---|---|
| 数字(Number) | 整数(int) | 10、-10 |
| 浮点数(float) | 10.1、-10.1 | |
| 复数(complex) | 4+3j,以j结尾表示复数 | |
| 布尔(bool) | 表示逻辑,真(True–1)和假(False–0) | |
| 字符串(String) | 描述文本的一种数据类型 | 字符串由任意数量的字符组成 |
| 列表(List) | 有序的可变序列 | Python中最常用的数据类型,可有序记录一堆数据 |
| 元组(Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Python数据集合 |
| 集合(Set) | 无序不重复集合 | 可无序记录一堆不重复的Python数据集合 |
| 字典(Dictionary) | 无序Key-Value集合 | 可无序记录一堆Key-Value型的Python数据集合 |
1 | print(10) |
1.3 字符串
字符串(String),又称文本,是由任意数量的字符,如中文、英文、各类符号、数字等组成
Python中,字符串需用””包裹 <=> 凡是被””包裹的,都是字符串
2. 注释
2.1 基本概念
定义:在程序代码中进行解释说明的文字
作用:注释不是程序,不能被执行,增强代码可读性
2.2 分类
- 单行注释:# 后的所以内容都看作注释(#和注释内容建议space隔开)
- 多行注释:以””” “””包裹,来进行多行注释,可换行
1 | # 这是单行注释 |
3. 变量
3.1 定义
变量:在程序执行时,能储存计算结果或能表示值的抽象概念
格式:变量名称 = 变量的值
4. 数据类型
4.1 入门常见数据类型
| 类型 | 描述 | 说明 |
|---|---|---|
| string | 字符串类型 | 用引号包含的数据都是字符串 |
| int | 整型(有符号) | 数字类型,存放整数 |
| float | 浮点型(有符号) | 数字类型,存放小数 |
4.2 type()语句
type()语句可以用来 验证数据类型
1 | type(被查看类型的数据) |
5. 数据类型转换
常见转换语句
| 语句 | 说明 | |
|---|---|---|
| int(x) | 转换为整数 | |
| float(x) | 转换为浮点数 | |
| str(x) | 转换为字符串 |
浮点数转换为整数时,小数部分会直接舍去,不进行四舍五入
转换字符串为数字时,必须确保字符串内容均为数字
6. 标识符
6.1 定义
用户在编程时使用的一系列名字,用于给变量、类、方法等命名
6.2 命名规则
- 命名时只允许出现:
- 英文
- 中文(不推荐)
- 数字
- 下划线(_)
- 大小写敏感
- 不可使用关键字
- 不可以数字开头
7. 运算符
- 算数运算符
| 运算符 | 描述 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| // | 整除 |
| % | 取余 |
| ** | 指数 |
- 赋值运算符
| 运算符 | 描述 |
|---|---|
| = | 赋值 |
- 复合赋值运算符
| 运算符 | 描述 |
|---|---|
| += | 加法赋值 |
| -= | 减法赋值 |
| *= | 乘法赋值 |
| /= | 除法赋值 |
| %= | 取模赋值 |
| **= | 幂赋值 |
| //= | 整除赋值 |
8. 字符串的三种定义方式
- 单引号定义法:
name='文本内容' - 双引号定义法:
name="文本内容" - 三引号定义法:
name="""文本内容"""#与注释的区别在于是否使用变量接收
想要输出“‘可以使用\进行转义,或者交替使用
9. 字符串的拼接
两个字符串可以直接通过+进行拼接
1 | print("测试"+"文本") |
也可以通过变量,和字面量进行拼接
1 | text="文本" |
[!tip]
无法和非字符串类型进行拼接
10. 字符串格式化
字符串拼接可通过%s占位的形式,实现数字和字符串的拼接,形式有点像C语言
1 | a = 1 |
这里%表示要占位了,s表示数据类型%d、%f、%s和C语言一样的三种占位数据类型
11. 字符串格式化的精度控制
我们可以使用辅助符号“m.n”来控制数据的宽度和精度
- m,控制宽度,要求是数字,设置的宽度小于数字自身,不生效
- .n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例: - %5.2f:表示宽度控制为5,小数点精度为2
小数点和小数部分也算入宽度计算。11.345 (%7.2f)-> [空格][空格]11.35
12. 字符串格式的方式二
1 | f"{变量}{变量}" |
利用这种方法进行快速格式化
特点:
- 不理会类型
- 不做精度控制
适合对精度没有要求的时候快速使用
13. 对表达式进行格式化
表达式:一条具有明确执行结果的代码语句
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
1 | print("1 * 1 = %d" % (1 * 1)) |
14. 数据输入(input语句)
input语句可用来获取键盘输入
- 数据输入:input
- 数据输出:print
在input的()中写入内容,可以为input语句添加输出提示内容,input()语句会在读取输入前,将提示内容输出在屏幕上
input语句默认接收数据类型为字符串类型,如果需要别的数据类型,需进行数据类型转换(a = int(a))
15. 布尔类型和比较运算符
布尔类型的字面量:
- True 表示真
- False 表示假
| 运算符 | 描述 |
|---|---|
| == | 相等 |
| != | 不等 |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
16. if语句的基本格式
1 | if 判断条件: |
- 判断条件的结果必须是布尔类型
- 注意缩进确定归属关系
17. if else语句
1 | if 条件: |
else后,不需要判断条件,即if不满足时执行else
和if代码块相同,else代码块同样使用4个空格作为缩进判断从属关系
18. if elif else语句
1 | if 条件1: |
elif语句可以写多个
判断是互斥且有序的
可在条件判断中,直接写入input语句,节省代码量
19. 判断语句的嵌套
类比C
20. while循环语句
1 | while 条件: |
记得迭代终止条件,防止while死循环
//在print语句中,加上end=''即可不换行
//可以利用\t制表符,来对齐文本
21. for循环语句
1 | for 临时变量 in 待处理数据集: |
同C的for循环大不相同,py的for循环是无法定义循环条件的,只能遍历待处理数据集,因此py的for循环无法构建无限循环(待处理数据集不可能无限大)
22. range语句
for循环语法中的待处理数据集,严格来说,称为序列类型
序列类型指的是,其内容可以一个个依次取出的一种类型,包括:
- 字符串
- 列表
- 元组
语法:
1 | range(num1,num2,step) |
从num1(包含)开始,到num2(不包含)结束且步长为step的序列(左闭右开)
只有一个参数num就默认从0开始,到num结束且步长为1
23. for循环的变量作用域
临时变量,在编程规范上,作用范围只限定在for循环内部
规范上不可以访问,但实际上是可以访问的,但不建议
24. continue和break
continue临时跳过(中断)本次循环,立即进入下一次循环
break直接结束循环
25. 函数的初体验
函数:组织好的,可重复使用的,用来实现特定功能的代码
26. 函数的定义
1 | def 函数名(传入参数): |
同C语言一致,形参与实参,传入参数没有数量限制,逗号隔开
27. 函数的返回值
同C语言,将函数运行的结果返回给调用者
函数返回值默认为None,类型为None类型,不定义返回值或手动定义None返回值等价
28. 函数的嵌套调用
函数之间可以嵌套调用
29. 变量的作用域
29.1 局部变量和全局变量
主要分为两类:局部变量和全局变量
- 局部变量:定义在函数体内部,只在函数体内部生效,函数执行完毕,局部变量立即销毁
- 全局变量:定义在全局,在函数体内、外都正常使用
29.2 global关键字
使用global关键字可以在函数体内部声明全局变量


