Python常见的数据类型
基本的数据类型
数据类型
- 整数(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)
按数据结构分类:
-
数值类型:整数、浮点、布尔值
-
序列类型:字符串、列表、元组(可以通过下标取值,支持切片操作)
-
散列类型:字典、集合