数据类型
Python3 中有六个标准的数据类型
- Number(数字) 包含: 整型int 小数float 复数complex 布尔值bool
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dict(字典)
不可变数据 :Number(数字)、String(字符串)、Tuple(元组)
可变数据 :List(列表)、Dictionary(字典)、Set(集合)
数字类型转换
自动转换
bool--->int--->float
手动转换(强制转换)
- int(x) 将x转换为一个整数。
- float(x) 将x转换到一个浮点数。
- complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
- complex(x,y) 将x和y转换到一个复数,实数部分为 x,虚数部分为 y。
- str(x) 将x转换为一个字符串
- chr(30000) 将Unicode编码值转化为对应字符
- ord(x) 打印出字符x在Unicode编码表中对应的编码值
- bin(code) 将Unicode编码值转换成二进制,计算机只能识别二进制
- eval() 自动根据输入的类型来决定转换为整数还是小数
注意
在Unicode编码表中 65-90 A-Z 97-122 a-z
运算符
算术运算符
加+ 减- 乘* 除/ 取余% 幂** 取整//
比较运算符
等于== 不等于!= 大于> 小于< 大于等于>= 小于等于<=
赋值运算符
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
= 乘法赋值运算符 c = a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
= 幂赋值运算符 c = a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
位运算符
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^ 按位异或运算符:当两对应的二进位相异时,结果为1
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
逻辑运算符
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
成员运算符
in 如果在指定的序列中找到值返回 True,否则返回 False。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。
身份运算符
is is 是判断两个标识符是不是引用自一个对象
is not is not 是判断两个标识符是不是引用自不同对象
短路运算
- 逻辑与中的短路 and
表达式1 and 表达式2
如果表达式1的结果为False,则会导致短路,表达式2不执行 - 逻辑或中的短路 or
表达式1 or 表达式2
如果表达式1的结果为True,则会导致短路,表达式2不执行
is 与 == 区别
- is 用于判断两个变量引用对象是否为同一个
- == 用于判断引用变量的值是否相等