基本的数据类型
数据类型
- 整数(int)
- 浮点数(float)
- 复数
- 字符串类型(str)
- 布尔类型(一种特殊的数值类型,只有True和False)
查看数据类型
关键字:type
用法:type(数据)
关键字:isinstance
用法:
isinstance("这是一个字符串",str)
注意:如果第一个参数的类型和第二个参数所说明的数据类型一致,则返回True,否则返回False
数据类型转换
| 函数 | 作用 |
|---|---|
| int(x) | 将x转换为整数类型 |
| float(x) | 将x转换为浮点数类型 |
| complex(real[,imag]) | 创建一个复数 |
| str(x) | 将x转换为字符串 |
| repe(x) | 将x转换为表达式字符串 |
| eval(x) | 计算在字符中的有效Python表达式,并返回一个对象 |
| chr(x) | 将整数x转换为一个字符 |
| ord(x) | 将一个字符x转换为它对于的整数值 |
| hex(x) | 将一个整数x转换为一个十六进制字符串 |
| oct(x) | 将一个整数x转换为一个八进制的字符串 |
运算符的分类
算术运算符
| 运算符 | 说明 | 实例 | 结果 |
|---|---|---|---|
| + | 加 | 3.01 + 2 | 5.01 |
| - | 减 | 5.36 - 2.13 | 3.13 |
| * | 乘 | 5*2.2 | 11.0 |
| / | 除7/2 | 7/2 | 3.5 |
| % | 求余,即返回除法的余数 | 7%2 | 1 |
| // | 取整数,即返回商的整数部分 | 7//2 | 3 |
| ** | 幂,即返回x的y次方 | 2**3 | 8 |
赋值运算符
| 运算符 | 说明 | 举例 | 展开形式 |
|---|---|---|---|
| = | 简单的赋值运算 | x=y | x=y |
| += | 加赋值 | x+=y | x = x+y |
| -= | 减赋值 | x-=y | x = x-y |
| *= | 乘赋值 | x*=y | x = x*y |
| /= | 除赋值 | x/=y | x = x/y |
| %= | 取余数赋值 | x%=y | x = x%y |
| **= | 幂赋值 | x**=y | x = x**y |
| //= | 取整除赋值 | x//=y | x = x//y |
比较运算符
用于对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回True,如果为假,则返回False
| 运算符 | 作用 | 举例 | 结果 |
|---|---|---|---|
| > | 大于 | 'a' > 'b' | False |
| < | 小于 | 150 < 160 | True |
| == | 等于 | 'a' == 'a' | True |
| != | 不等于 | 'a' != 'b' | True |
| >= | 大于或等于 | 150 >= 140 | True |
| <= | 小于或等于 | 150 <= 140 | False |
逻辑运算符
| 运算符 | 含义 | 用法 | 结合方向 |
|---|---|---|---|
| and | 与 | True and True | 从左到右 |
| or | 或 | a or b | 从左到右 |
| not | 非 | not True | 从右到左 |
成员运算
| 运算符 | 含义 | 实例数据 | 表达式 | 结果 |
|---|---|---|---|---|
| in | 如果在指定序列中找到值返回True,否则返回False | x = 3 y = [1,2,3,4,5] | x in y | True |
| not in | 如果在指定序列中未找到值返回True,否则返回False | x = 7 y = [1,2,3,4,5] | x not in y | True |
身份运算
| 运算符 | 含义 | 实例 |
|---|---|---|
| is | 判断两个标识符是不是引用同一个对象 | id(a) is id(b) 如果是应用同一个对象,返回True |
| is not | 判断两个标识符是不是引用自不同的对象 | id(a) is not id(b) 如果是引用自不同的对象,返回True |
位运算符
| 运算符 | 含义 | 示例 |
|---|---|---|
| & | 位与:参与运算的两个值的两个相应位都为1,则该位的结果为1;否则为0 | x & y |
| | | 位或:参与运算的两个值的两个相应位有一个为0,则该位的结果为0;否则为1 | x | y |
| ~ | 位取反:对数据的每个二进制位取反,即把 1 变为 0 ,把 0 变为 1 | ~ x |
| ^ | 位异或:参与运算的两个值同时为0或同时为1时,结果为0,否则为1 | x ^ y |
| >> | 右移位 :运算数的各个二进制位全部向右移动指定的位数,右边溢出的位丢弃, 如果最高位是0,则左侧空位填入0,如果最高位是1,则左侧空位填入1 |
x >> 2 |
| << | 左移位:运算数的各个二进制位全部左移动指定的位数,高位丢弃,低位补 0 | x << 2 |
运算符的优先级
运算符的优先级,可以在运算时加()来优先计算某个部分
运算符优先级从高到低排序
| 运算符 | 描述 |
|---|---|
| ** | 指数(最高优先级) |
| ~ + - | 位运算符(位取反,一元加号(+@)和减号(-@)) |
| * / % // | 乘法,除法,取模,取整 |
| + - | 加法减法 |
| << >> | 位运算符(左移位,右移位) |
| & | 位运算符(位与运算) |
| ^ | | 位运算符(位亦或,位或) |
| <= < > >= | 比较运算符 |
| <> == != | 等于运算符 |
| = %= /= //= -= += *= **= | 赋值运算符 |
| is is not | 身份运算符 |
| in not in | 成员运算符 |
| not and or | 逻辑运算符(最低优先级) |
不可变的数据类型:
- (整数,浮点数,布尔值)、字符串(str)、元组(tupe)
可变数据类型:
- 列表(list)、字典(dict)、集合(set)
按数据结构分类:
-
数值类型:整数、浮点、布尔值
-
序列类型:字符串、列表、元组(可以通过下标取值,支持切片操作)
-
散列类型:字典、集合