day04 Python变量与数据结构
一、注释
1.1 注释的作用
没有注释的代码,不明白函数的功能,一眼懵
添加注释的代码,条理清晰
这就是注释的作用,能够大大增强程序的可读性。
1.2 注释的分类及语法
注释分为两类:单行注释
和多行注释
- 多行注释,可以注释多行内容,一般用在注释一段代码的情况, 语法如下:
PyCharm快捷键:ctrl + /
案例如下:
注意:解释器不执行任何的注释内容。
二、变量
2.1 什么是变量?
相对于内存而言:
- 变量就是存储数据的的时候,当前数据所在的
内存地址的名字
而已。
对于程序而言:
- 数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后定义一个名称,这个名称就是变量。
就例如:
图书馆中的书(数据)
都有一个对应的编号(内存地址)
,而变量
就是给这个编号
起的一个别名
2.2 使用变量
2.2.1 变量的定义与使用
变量的定义由三部分组成,如下图
定义变量:
使用变量:
2.2.2 变量的内存管理
变量的内存管理 — 垃圾回收机制
什么是垃圾呢?当一个变量值被当值的变量名的个数为0时,该变量无法被访问,被称为垃圾
案例:
补充:
ID不同,值可能相同,也可能不相同
ID相同,值一定相同
2.2.3 变量名的命名规范
一个原则,见名知意:
四个规范:
由数字、字母、下划线组成
不能数字开头
不能使用内置关键字
严格区分大小写
案例如下:
2.2.4 变量名的命名风格
- 见名知义
- 大驼峰:即每个单词首字母都大写,例如:
MyName
- 小驼峰:第二个(含)以后的单词首字母大写,例如:
myName
- 下划线:例如:
my_name
(多用于:变量名)
1.2.4 变量值的三大特征
- ID:变量在内存中的唯一编号,内存地址不同id肯定不同
- Type:变量值的类型
- Value:变量值
案例:
2.3 is与==运算
在Python中is
与==
的区别是什么?
is:比较左右两个变量的ID是否相等
==:比较左右两个变量的Value是否相等
案例:
2.4 小整数池
前面不是说重新定义变量,会重新分配内存空间吗,为什么像如下的情况,变量p的ID
和o的ID
是一样的?
因为Python解释器从启动的那一刻开始,就会在内存中事先申请
一系列内存空间,存放常用的整数
,以节省内存空间提高效率,可见如下案例:
以上实验在CMD中运行,在PyCharm中会进一步优化,结果可能不同
2.4 常量
在程序运行过程中,有些值是固定的、不应该被改变,比如圆周率 3.141592653…
常量就是指像PI这种在程序运行过程中不会改变的量
在Python中没有一个专门的语法定义常量,约定俗成是用全部大写的变量名
表示常量
所以单从语法层面去讲,常量的使用与变量完全一致。
三、数据类型简介
为应对不同的业务需求,Python中也把数据分为不同类型
检测数据类型的方法:type()
,比如
3.1 数字类型
3.1.1 int整型
用来记录人的年龄,出生年份,学生人数等整数相关的状态
案例如下:
3.1.2 float浮点型
用来记录人的身高,体重,薪资等小数相关的状态
案例如下:
3.1.3 数字类型的使用
1 、数学运算
2、比较大小
3.2 字符串类型String
作用:用来记录人的名字,家庭住址,性别等描述性质的状态
字符串可以用单引号
、双引号
或者多引号
定义,案例如下:
PS:各种引号定义字符串的注意事项
3.2.1 字符串的特殊使用
3.3 列表list[]
3.3.1 作用
用来记录多个同种属性的值(比如同一个班级多个学生的姓名、同一个人的多个爱好等),并且存取
都十分方便
3.3.2 定义
3.3.3 使用
3.4 字典dict{}
3.4.1 作用
如果我们需要用一个变量记录多个值,但多个值是不同属性的,这就用到字典类型,字典类型是用key:value
形
式来存储数据,其中key可以对value有描述性的功能
3.4.2 定义
3.4.3 使用
3.5 布尔bool
5.1 作用
用来记录真假这两种状态
3.5.2 定义
3.5.3 使用
3.6 集合set{}
3.6.1 作用
在Python中,集合(set)是无序的、元素不重复的集合
3.6.2 定义
3.6.3 集合运算
3.7 元组tuple()
3.7.1 作用
tuple
可以做什么?有时候想返回一组值,但是这组值又不想定义某个类型,就可以使用元组
3.7.2 定义
tuple
定义后,里面的值就无法修改