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