Chap2 数据类型和操作
1.数据类型
-整数int
-浮点数float
-布尔值bool(true or false)
-类型type
```print(type(2.2))```
输出:float
print(type(2<2.2))
输出:bool
print(type(2))
输出:int
print(type(type(42)))
输出:type
-字符串str
-列表List
-元组Tuple
-集合Set
-字典dict或映射map
-复数complex
-函数Function
-模块Module
2.常量
-True 布尔真
-False 布尔假
-None 空值
math库中数学常量
-pi Π=3.1415926……
-e 2.71828……
-tau Π的两倍
-inf 浮点正无穷大 负无穷大:-math.inf
3.运算符
-算术:+ - * @(矩阵乘法) /(除法) //(整除) **(次方) %(求余) -(符号) +(正号)
-关系:< <= > >= ==(相等) !=(不相等)
-赋值:+= -= *= /= //= **= %=
-逻辑:and or not
1./ 浮点数除法
a=2/1 type(a)
输出:float
2.//整除除法
a=5//2
输出:2
3.%余数运算
a=5%2
输出:1
math.fmod()和%的区别
-math.fmod,math.mod和取余符号%有什么区别
结合律
**从右往左计算
print(2**3**2)
输出:512 不是64!
4.短路求值
短路求值至少要算一个
X | Y | X and Y | X or Y | not X | not Y |
---|---|---|---|---|---|
true | true | true | true | false | false |
true | false | false | true | false | true |
false | false | false | false | true | true |
false | true | false | true | true | false |
```def no():
return false
def yes():
return true
def crash():
return1/0 #崩溃
print(no() and crash()) #程序直接输出false,不会运行crash()
print(crash() and no()) #程序会提示崩溃,不会输出false
print(yes() and crash()) #因上一行崩溃,所以这行不会运行
print(yes() or crash()) #输出true
print(crash() and yes()) #直接崩溃
print(no() or crash()) #因上一行崩溃,这行不会运行```
and运算如果第一个条件为真,则会继续判断第二个条件,如果为真则输出true
如果为假则输出false,如果第一个条件为假,则不会判断第二个条件;
or运算只要有一个为真就为真,如果第一个条件为真则直接输出真不会计算第二个条件
5.isinstance()和type()
isinstance()比type()更具有稳健性
-type()函数和isinstance()函数区别
总结:
1.python的类型很多,可用type()查看
2.常数类型的值不可改变
3.除法默认浮点数除法,整数操作用//
4.运算符优先级
5.逻辑判断:短路求值