在数据运算过程中,常常会使用不同的数据类型(整数、小数、字符等)与运算操作,本文简单说明一下关于python语言中数据类型与操作符。
1. 数据类型
python中的数据类型大致包含了整型(int)、浮点数(float)、布尔类型(bool)。
1.1 整型与浮点数
python中的整型与长整型进行了无缝结合,它的长度只限于计算机的虚拟内存总数。整型与浮点数最大的区别大于是否存在小数点。在python中,提供大约17位的精度和范围,不支持32为的单精度浮点数。因此,python中只有float类型,没有其它语言中的double类型。
1.2 布尔类型
布尔类型包含了True和False,其分别来表示“真”和“假”。另外,布尔类型也可以当作整数来处理,即True等同于1,False等同于0。例如:
>>> True + True
2
>>> True + False
1
>>> False + False
0
>>> True * False
0
>>> False / True
0.0
>>> True / False
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
True / False
ZeroDivisionError: division by zero
1.3 类型转换
在数据处理过程中,有时候会用到数据类型的转换,主要包含下列几个函数:
int() ---- 将其它数据类型(浮点数、字符串、布尔类型)转换为整数。注意:将浮点数转换为整型时 采取的是截断方式,即将小数点后的数据直接砍掉,只留下整数。
float() ---- 将其它数据类型(整型,字符串,布尔类型)转换为浮点数。
str() ---- 将其它数据类型(整型、浮点数、布尔类型)转换为字符串。
print(int('520'))
print(int(True))
print(int(5.16))
print(int(5.89))
print(float(25))
print(float(True))
print(float('12.5'))
print(str(10))
print(str(5.78))
print(str(True))
1.3 数据类型信息获取
python语言中可以通过type()函数或者isinstance()函数还获取数据类型信息。isinstance()有两个输入参数,一个是待确定的数据,另一个是数据类型,该函数的返回值为布尔类型。
2. 操作符
2.1 算术操作符
算术操作符主要包含: +(加)、- (减)、* (乘)、/ (除)、% (求余)、** (冥)、// (整除)。这里重点介绍一下 ** 和 //。
** 为冥运算操作符。在运用过程中,应当注意与一元操作符的优先级顺序,如果一元操作符在其左侧,则先计算**,若一元操作符在右侧,则先计算意愿操作符。例如:
>>> -4**2
-16
>>> 4**-2
0.0625
>>>
整除操作符 // 采取的是地板除法,即计算结果取比商小的最大整型,就是舍弃小数。值得注意的是,//得到的不一定是整型,它跟分母分子的数据类型相关。例如
>>> 3//2
1
>>> 3.0//2
1.0
>>> 3//2.0
1.0
>>> type(3//2)
<class 'int'>
>>> type(3.0//2)
<class 'float'>
>>> type(3.0//2.0)
<class 'float'>
整除、round函数、floor函数、ceil函数的区别:
- 整除(//)和floor函数是向下圆整,但是floor函数不能直接使用,因为其包含在模块中,需要导入模块math;
- round函数既不是向上圆整也不是向下圆整,而是圆整到最接近的整数,可以理解为四舍五入;
- ceil函数为向上圆整,该函数的使用跟floor函数使用一样,需要导入模块math。
举例说明
>>> 2//3
0
>>> round(2/3)
1
>>>import math
>>>math.ceil(2/3)
1
>>>math.floor(2/3)
0
2.2 比较操作符
主要包含: >、>=、<、<=、==、!=
比较操作符的返回值为布尔类型。
2.3 逻辑操作符
and ---- 当左边操作数和右边操作数都为真时,结果返回真
or ---- 只需要左边或右边任意一侧的操作数为真,结果返回真
not — 返回与操作数相反的布尔类型值。
2.4 三元操作符
三元操作符的语法为:
a = x if 条件 else y
表示当条件为True时,a被赋值为x,否则赋值为y。