变量和运算符
1.变量:
-
程序中使用数据的两种方式:
-
直接使用数据
-
先将数据保存到变量中,然后再通过使用变量来使用数据 (推荐使用)
-
-
定义变量/创建变量 – 将数据保存到变量中
-
语法:变量名 = 数据
-
说明:
a. 变量名 – 程序员自己命名
要求:是标识符,不是关键字
规范:a.见名知义(看到变量名就大概知道变量中保存的是什么数据)
b.不使用系统函数名(比如:print、input、type、…)、类名(int、float、str、…)和模块名
c.所有字母都小写,多个单词之间用下划线隔开(PEP8)b. = – 固定写法
c. 数据 – 需要保存到变量中的具体的数据(可以是具体的某种类型的数据,也可以是某个运 算表达式的结果)
-
-
使用变量 – 使用变量中保存的数据
- 使用变量就是使用变量中保存的数据,所有数据能做的事情,保存数据的变量都可以做。
**注意:**变量必须先定义再使用
-
同时定义多个变量:**
- 变量名1 = 变量名2 = 变量名3 = … = 数据 – 同时定义多个变量赋相同的值
- 变量名1, 变量名2, 变量名3, … = 数据1, 数据2, 数据3, … – 同时定义多个变量赋不同的值(变量的数据必须和数据的数量保持一致)
-
变量重新赋值:**
- 定义完变量以后可以重新给变量赋值,重新赋值后再使用变量,使用的是新的值
- 重新赋值的时候可以赋不同类型的值
2. 变量的底层逻辑:
- python变量存储数据和重新赋值的底层
- python定义变量的时候先申请内存,内存申请多大看数据需要多大,申请完内存后将数据保存到内存中,然后再将变量和对应的内存进行关联;
- 重新给变量赋值的时候,会根据新的值重新申请新的内存,然后将新的数据保存到新的内存中,最后将变量和新的内存进行关联。
- id函数 – 获取变量对应的内存地址
3.数学运算符:
所有的数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
- +、-、*、/
- 和数学中的+、-、×、÷的功能一样
- 如果运算对象中有一个是浮点数,那么结果一定是浮点数(应用于所有数学运算符)
- 除法(/)运算的运算结果一定是浮点数
- %(取余、取模)
- 应用场景1:判断一个数是否能够被另外一个数整除 – 判断这两个数的余数是否为0
- 应用场景2:取整数的低位数 – 对10的N次方取余,就可以获取这个数的后N位数
- //(整除)
- 求商,商向小取整
- 应用场景1:求一个数中有多少个完整的另一个数
- 应用场景2:去掉整数的低位数,保留高位数 – 整除10或者10的N次方
- **(幂运算)
- x ** y – 求x的y次方
4.比较运算符:
比较运算符:>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
- 所有比较运算符的运算结果都是布尔值
- python中的比较运算符支持连写表示范围
5.逻辑运算符:
**逻辑运算符:**and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
- and(逻辑与运算):
- 应用场景:用来连接要求同时成立的两个条件,相当于生活中的 ‘并且’
- 运算规则:条件1 and 条件2 – 如果两个条件同时成立结果就是True,只要有一个条件不成立结果就是False
True and True – True
True and False – False
False and True – False
False and False – False
- or(逻辑或运算):
- 应用场景:如果要求两个或者多个条件有一个条件成立就行,用or连接,相当于生活中的’或者’
- 运算规则:条件1 or 条件2 – 只要有一个条件成立,结果是True;两个条件都不成立结果是False
True or True – True
True or False – True
False or True – True
False or False – False
- not(逻辑非运算):
- 应用场景:对条件进行否定
- 运算规则:not 条件 – 对指定条件进行否定
not True – False
not False – True
6.赋值运算:
赋值运算: =、+=、-=、*=、/=、%=、//=、**=
注意:
- 所有赋值运算符最终的功能都是完成对变量的赋值操作(将数据保存到变量中)
- 所有的赋值运算都没有结果,无法提供数据
- = – 普通赋值运算符
- 变量名 = 数据 – 将数据直接保存到变量中
-
+=、-=、*=、/=、%=、//=、=**
- 先将变量中保存的数据取出来,和后面的数据进行加、减、乘、除、取余、整除和幂运算,然后将运算结果重新赋值给前面的变量
**注意:**复合的赋值运算符前面的变量必须是已经赋值过的变量
7.运算符的优先级:
-
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
-
** > *、/、%、// > +、-
-
and > or
-
有括号先算括号里面