Python中一些基本数据类型:
- Booleans[布尔型] 或为
True[真]
或为False[假]
。 - Numbers[数值型] 可以是 Integers[整数](
1
和2
)、Floats[浮点数](1.1
和1.2
)、Fractions[分数](1/2
和2/3
);甚至是 Complex Number[复数]。 - Strings[字符串型] 是 Unicode 字符序列,例如: 一份 html 文档。
- Bytes[字节] 和 Byte Arrays[字节数组], 例如: 一份 jpeg 图像文件。
- Lists[列表] 是值的有序序列。
- Tuples[元组] 是有序而不可变的值序列。
- Sets[集合] 是装满无序值的包裹。
- Dictionaries[字典] 是键值对的无序包裹。
在 Python 中一切均为对象,因此存在像 module[模块]、 function[函数]、 class[类]、 method[方法]、 file[文件]甚至 compiled code[已编译代码] 这样的类型。
布尔类型
布尔类型或为真或为假。Python 有两个被巧妙地命名为 True
和 False
的常量,可用于对布尔类型的直接赋值。表达式也可以计算为布尔类型的值。在某些地方(如 if
语句),Python 所预期的就是一个可计算出布尔类型值的表达式。由于 Python 2 的一些遗留问题,布尔值可以当做数值对待。True
为 1
;False
为 0 。
>>> p = 5
>>> q = 3
>>> p > q
True
>>> p < q
False
>>> True + True
2
>>> True
True
>>> True + False
1
>>> False - True
-1
数值类型
Python 同时支持 Integer[整型] 和 Floating Point[浮点型] 数值。无任何类型声明可用于区分;Python 通过是否有小数点来分辨它们。
>>> 1 + 1.0
2.0
>>> type(1)
>>> isinstance(2,int)
True
>>> type(3.0)
可以使用 type()
函数来检测任何值或变量的类型。正如所料,1
为 int
类型。同样,还可使用 isinstance()
函数判断某个值或变量是否为给定某个类型。将一个 int
与一个 float
相加将得到一个 float
。Python 把 int
强制转换为 float
以进行加法运算;然后返回一个 float
类型的结果。
整数和浮点数间的转换
>>> float(4)
4.0
>>> int(5.0)
5
>>> 1.01234567890123456789
1.0123456789012346
>>> 1223345667781245678968
1223345667781245678968L
通过调用float()
函数,可以显示地将 int
强制转换为 float,也可以通过调用
int()
将 float
强制转换为 int
。int()
将进行取整,而不是四舍五入。对于负数,int()
函数朝着 0 的方法进行取整。浮点数精确到小数点后 15 位。整数可以任意大。
>>> 15 / 2
7
>>> 15 // 2
7
>>> -15 // 2
-8
>>> 15.0 // 2
7.0
>>> 15 ** 2
225
>>> 15 % 2
1
"/"
运算符执行浮点除法。即便分子和分母都是 int
,它也可以返回一个 float
浮点数。"//"
运算符执行古怪的整数除法。如果结果为浮点数,可将其视为朝向小数位取整(即取该浮点数相邻的两个整数中较小的值,不是四舍五入)。"//"
运算符并非总是返回整数结果。如果分子或者分母是 float
,它仍将取较小的值然后转换为 float
类型。"**"
运算符的意思是“计算幂”,即乘方。"%"
运算符给出了进行整除之后的余数。
分数
Python 并不仅仅局限于整数和浮点数类型。
>>> import fractions
>>> x = fractions.Fraction(1, 3)
>>> x
Fraction(1, 3)
>>> x * 2
Fraction(2, 3)
>>> fractions.Fraction(6, 4)
Fraction(3, 2)
>>> fractions.Fraction(6, 0)
Traceback (most recent call last):
File "", line 1, in
fractions.Fraction(6, 0)
为启用 fractions 模块,必先引入 fractions
模块。为定义一个分数,可创建一个 Fraction
对象并传入分子和分母。Fraction
对象将会自动进行约分。分母为零时报错。
三角函数
>>> import math
>>> math.sin(math.pi / 2)
1.0
>>> math.tan(math.pi / 4)
0.9999999999999999
None
None 是 Python 的一个特殊常量。它是一个空值。它有着自己的数据类型(NoneType
)。可将 None
赋值给任何变量,但不能创建其它 NoneType
对象。所有值为 None
变量是相等的。
>>> type(None)
>>> None == False
False
>>> None == 0
False
>>> None == ''
False
>>> None == None
True
>>> x = None
>>> x == None
True
>>> y = None
>>> x == y
True