1. 运算符
数学运算符、比较运算符、逻辑运算符、赋值运算符、(位运算)
数学运算符:+、-、*、/、//、%、**
比较运算符:>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
- 所有的比较运算符的运算结果都是布尔值
print(100 > 10) #True
print(100 < 10) #False
print(100 == 10) #False
print(100 != 10) #True
print(100 >= 10) #True
print(100 >= 100) #True
python中中支持数学中表示范围的写法
num = 1000
print(1 <= num <= 100) #Falase
3.逻辑运算符:and(逻辑与运算),or(逻辑或运算),not(逻辑非运算)
-
逻辑运算符操作的对象是布尔值,返回的结果也是布尔值
- 逻辑与运算:两个都是True返回True,只要有一个是False结果就是False
True and True #True True and False #False False and True #False False and False #False
使用条件:当要求多个条件同事满足的时候,就将多个条件用and连接;相当于生活中的并且
- 逻辑或运算:两个都是False结果才是False,只要有一个是True结果就是True
True or True #True True or False #True False or True #True False or False #False
使用条件:当要求多个条件中只要有一个条件满足的时候,就将多个条件用or连接;相当于生活中的或者
-
短路操作
条件1 and 条件2 如果条件1的结果是False,那么将不会去判断条件2的结果,整个语句的结果直接变成False
条件1 or 条件2 如果条件1的结果是True,那么将不会去判断条件2的结果,整个语句的结果直接变成True
-
逻辑非运算:布尔值取反True变False,Falase变True
not True #False not False #True
使用条件:对某个条件进行否定
-
赋值运算符:=,+=,-=,*=,/=,//=,%=,**=
所有的赋值运算符的左边必须是变量,复合赋值运算符的左边要求除了是变量以外,这个变量还必须是已经声明过的变量
赋值符号的右边可以是数据、已经声明过的变量、运算表达式
name = '张三' age = 10+20 age1 = age
变量 += 数据 ->将变量中保存的值加上指定的数据,将结果重新保存到变量中
num2 = 10 print(id(num2)) num2 += 2 #等价于 num2 = num2 + 2 print(num2,id(num2))
-
运算符的优先级
数学运算 > 比较运算符 > 逻辑运算符(not > and > or) > 赋值运算符(最低)
先算优先级高的,再算优先级低的,有括号先算括号里面的
2. if分支结构
- 什么时候需要if条件语句?
程序中某些代码不是一定会执行,而是在满足某些条件的时候才执行就可以使用if条件语句
2.if结构
语法:
if 条件语句:
代码块-
说明:
if - 关键字,固定写法
条件语句 - 结果是布尔的表达式;本质可以是除了赋值语句以外的任何语句(例如:数据,已经声明过的变量,运算表达式)
:- 固定写法,(一般有冒号的地方,后面都会产生缩进)
代码块 - 和if保持一个缩进的一条或者多条语句;满足条件才会执行 -
执行过程
先判断条件语句是否为True(如果条件语句不是布尔值,先转换成布尔再判断),如果为True就执行代码块中的语句,否则不执行,直接执行后面的其他语句
if-else结构
满足某个条件执行一个操作,不满足执行另外的操作
1.语法
if 条件语句:
代码块1
else:
代码块2
说明
if - 关键字,固定写法
条件语句 - 可以是数据、声明过的变量、不包含赋值符号的运算表达式
:- 固定写法
代码块1 - 和if保持一个缩进的一条或者多条语句
else - 关键字,固定写法
代码块2 - 和if保持一个缩进的一条或者多条语句执行过程
先判断条件语句是否为True(如果不是布尔,先转换成布尔再判断),如果为True执行代码块1,否则执行代码块2-
if-elif-else结构
- 语法结构:
if 条件1:
代码块1
elif 条件2:
代码块2
....
esle:
代码块N - 执行过程:
先判断条件语句1是否为True,如果成立执行代码块1,然后if-elif-else结构结束,直接执行其他语句,否则就去判断elif结构里的条件,所有都不满足就执行else
- 语法结构:
if嵌套
可以在任何if结构中根据需要再写其他的if结构-
数字类型相关的补充
- 十进制
基数:0,1,2,3,4,5,6,7,8,9
进位:逢10进1
位权:123 = 1*10**2 + 2*10**1 + 3*10**0(10的多少次方)
表示方法:直接写不需要加前缀 - 二进制
基数:0,1
进位:逢2进1
位权:101 = 1*2**2 + 0*2**1 + 1*2**0(2的多少次方)
表示方式:在二进制数前加0bnum = 0b101
- 八进制
基数:0,1,2,3,4,5,6,7
进位:逢8进1
位权:56 = 5*8**1 + 6*8**0 = 46(8的多少次方)
表示方式:在八进制数前加0onum = 0o23
- 十六进制
基数:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
进位:逢16进1
位权:1af = 1*16**2 + 10*16**1 + 15*16**0(16的多少次方)
表示方式:在十六进制数前加0xnum = 0x1a2
- 进制转换
- bin()将其他进制的数转换为二进制
- oct()将其他进制的数字转换为八进制
- hex()将其他进制的数字转换为十六进制
- 浮点数(float):包含所有的小数,1.25,--1.25
python支持科学计数法 - 布尔(bool):只有True和False
- True的本质就是数字1,False的本质是数字0
- 复数(complex):包含所有带有虚部的数
- 实部+虚部(数字后面加j)
- 十进制
-
type()函数与数据类型转换
- type(数据)->获取数据对应的类型
- 类型转换
- 类型名(数据)->将数据转换成指定类型
- int(数据):将数据转换成整形,字符串去掉引号后本身就是一个整数,才能转换成整形
- float(数据):将数据转换成浮点数去掉引号后本身就是一个数字,就能转换成浮点型
- bool(数据):数字转换成布尔时,除了0其他都会转换成True;除了空串会转换成False,其他都是True
- 类型名(数据)->将数据转换成指定类型