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)

按数据结构分类:

  • 数值类型:整数、浮点、布尔值

  • 序列类型:字符串、列表、元组(可以通过下标取值,支持切片操作)

  • 散列类型:字典、集合

原文地址:https://www.cnblogs.com/zhouxiongjie/p/13182126.html