一.运算符
python中的运算符
1.数学运算符:+,-,,/,%,//,*
% — 取余(取模),求余数
- 应用1:通过判断一个整数对2取余是0还是1来判断这个数是奇数还是偶数
- 应用2:通过一个数对10取余来获取这个数的个位数
// — 整除,求商取商的整数部分
** — 幂运算,x**y — 求x的y次方
2.比较运算符:>,<,>=,<=,==,!=(不等于)
所有的比较运算符的结构都是布尔值!
== — 判断两个数据是否相等
python中可以使用多个比较运算符来表示是否在一个范围内(和数学一样用)
3.逻辑运算符:and、or、not
逻辑运算符的对象都是布尔值,结果也是布尔值
(1)and(逻辑与运算)
两个都为True结果才是True,只要有一个为False结果就为False
应用:如果需要多个条件同时满足的时候才做什么事情,这个时候的条件用and连接
(2)or(逻辑或运算)
只要有一个为True结果就是True,全部为False结果才是False
应用:如果多个条件中只要有一个条件满足就可以,就可以用or将多个条件连接在一起
(3)not(逻辑非运算)
True变成False,False变成True
应用:对一个条件进行否定
(4)短路操作
逻辑与运算的短路操作:如果and前面的结果为False,不会执行后面的语句,结果直接为False
逻辑或运算的短路操作:如果or前面的结果是True,就不会执行后面的语句,结果直接为True
4.运算顺序
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
数学运算符中:** > *,/,%,// > +,-
加()可以改变运算顺序,有括号先算括号里面的
二.数字类型
1.整型(int)
整型包含了所有的整数,例如:100,0,-10
python中的整型支持二进制,八进制,十进制和十六进制
- 十进制:
- 基数:0,1,2,3,4,5,6,7,8,9
- 进位:逢10进1
- 表达方式:直接写的所有数字都是十进制数据
- 转换方式:直接打印
- 二进制:
- 基数:0,1
- 进位:逢2进1
- 表达方式:num = 0b100 在二进制数的前面加前缀0b/0B
- 转换方式:bin()
- 八进制:
- 基数:0,1,2,3,4,5,6,7
- 进位:逢8进1
- 表达方式:num = 0o100 在八进制的前面加前缀0o/0O
- 转换方式:oct()
- 十六进制:
- 基数:0,1,2,3,4,5,6,7,8,9,a/A,b/B,c/C,d/D,e/E,f/F
- 进位:逢16进1
- 表达方式:num = 0x1f 在十六进制的前面加0x/0X
- 转换方式:hex()
2.浮点型(float)
是所有的小数对应的类型
支持科学计数法
num5 = 3e4 # 3*10^4
3.布尔值(bool)
只有True和False两个值,True实质就是1,False实质就是0
4.复数(complex)
包括所有由实部和虚部组成的数字,python中使用j表示虚部,例如:10-j,20+3j
python直接支持复数运算
num6 = 10 - 1j
num7 = 20 + 3j
print(num6 + num7)
三.类型转换
类型名(数据) — 将指定数据转换成指定类型,返回新的数据
-
int()
— 转换成整型,数字转换成整型,值保留整数部分;不是所有的字符串都可以转换成整型,只有去掉引号之后本身就是一个整数的字符串 -
float()
— 转换成浮点型,数字后面加.0;只有去点引号之后本身就是一个数字的字符串才能转换成浮点数 -
bool()
— 所有的数据(不管什么类型的数据)都可以转换成布尔值;所有位为0、为空的值会转换成False,其他都是True
type函数:type(数据) — 返回指定数据对应的类型
四.if分支结构
当某段代码是需要满足某个条件的时候才会执行,这个时候就使用if分支结构
语法:
if 条件语句: 代码块
-
if 条件语句: 代码块1 else: 代码块2
if
— 关键字,固定写法条件语句 — 除了赋值语句以外的所有表达式,例如:数据、运算表达式、已经赋值后的变量
:— 固定写法
代码块 — 和if保持一个缩进的一条或者多条语句(至少一条!)
代码块2 — 和else保持一个缩进的一条或者多条语句
执行过程:先先判断条件语句是否为True(如果结果不是布尔就先转换成布尔再判断),如果为True就执行代码块1,否则执行代码块2(或不执行)
if-elif-else结构
语法
if 条件语句1: 代码块 elif 条件语句2: 代码块2 elif 条件语句3: 代码块3 ... else: 代码块4 其他语句
执行过程
先判断条件语句1是否为True,如果为True就执行代码块1,然后整个if结构结束,直接执行后面的其他语句;
如果为False,就判断条件语句2是否为True,如果为True就执行代码块2,然后整个if结束;
以此类推,如果所有的条件语句都是False,就执行else后面的代码块
if嵌套
可以在if结构中再嵌套其他的if语句