Python基础:数据类型
Posted Libing@2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础:数据类型相关的知识,希望对你有一定的参考价值。
在Python中,所有的数据类型都是类,每一个变量都是类的实例。
Python中有6种标准数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Sets)和字典(Dictionary)。
1.数字类型
Python中数字类型:整数类型、浮点类型和复数类型。
1.1 整数类型(int)
Python整数类型为int,整数类型的范围可以很大,可以表示很大的整数,只受所在计算机硬件的限制。
Python 3 不再区分整数和长整数,所有需要的整数都可以是长整数。
默认情况下,一个整数值表示十进制数。其它进制的表示方式:
◊ 二进制数:以0b或0B为前缀。(注:0为阿拉伯数字)
◊ 八进制数:以0o或0O为前缀。(注:第一个字符是阿拉伯数字0,第二个字符是英文字母o或O)
◊ 十六进制数:以0x或0X为前缀。(注:0为阿拉伯数字)
>>> 28 28 >>> 0b11100 28 >>> 0o34 28 >>> 0x1C 28
1.2 浮点类型(float)
浮点类型用来存储小数数值,Python中浮点类型为float,Python只支持双精度的浮点类型,且与本机有关。
浮点类型可以使用小数表示,也可以使用科学计数法表示。科学计数法中使用大写或小写的e表示10的指数,如e2表示102。
>>> 1.0 1.0 >>> 3.6e2 360.0 >>> 3.6e-2 0.036
1.3 复数类型
复数由实数部分和虚数部分构成,可以使用 a + bj 或 complex(a, b) 表示,复数的实部a和虚部b都是浮点类型。
Python中复数类型为complex。
>>> 1 + 2j (1+2j) >>> complex(1,2) (1+2j) >>> complex(1,2) + complex(1,2) (2+4j)
1.4 布尔类型
Python中布尔类型为bool,bool是int的子类。bool类型只有两个值:True和False。
任何类型数据都可以通过bool()函数转换为布尔值,“没有的”或“空的”值会转换为False,反之转换为True。如:None(空对象)、False、0、0.0、0j(复数)、\'\'(空字符串)、[](空列表)、()(空元组)和 {}(空字典)这些值会转换为False,否则是True。
>>> bool(0) False >>> bool(1) True >>> bool(\'\') False >>> bool(\' \') True >>> bool(None) False >>> bool([]) False >>> bool({}) False
2.数据类型转换
Python数据类型转换包括隐式类型转换和显式类型转换。
2.1 隐式类型转换
隐式类型转换规则:
操作数1类型 | 操作数2类型 | 转换后的类型 |
布尔 | 整数 | 整数 |
布尔、整数 | 浮点 | 浮点 |
>>> a = 1 + True >>> a 2 >>> type(a) <class \'int\'> >>> a = 1.0 + 1 >>> a 2.0 >>> type(a) <class \'float\'> >>> a = 1.0 + True >>> a 2.0 >>> type(a) <class \'float\'> >>> a = 1.0 + 1 + True >>> a 3.0 >>> type(a) <class \'float\'>
2.2 显式类型转换
显式类型转换函数:
(1)int(x):将x转换为一个整数。可以将布尔、浮点转换为整数。
布尔值:True转换为1,False转换为0;
浮点数值:转换后截掉小数部分。
>>> int(True) 1 >>> int(False) 0 >>> int(12.6) 12
(2)float(x):转换为一个浮点数。可以将布尔值、整数转换为浮点。
布尔值:True转换为1.0,False转换为0.0;
整数值:转换后加上小数部分“.0”。
>>> float(True) 1.0 >>> float(False) 0.0 >>> float(1) 1.0
(3)complex(x):将x转换为一个复数,实数部分为x,虚数部分为0。
>>> complex(1)
(1+0j)
complex(x, y):将x和y转换为一个复数,实数部分为x,虚数部分为y。
>>> complex(1, 2)
(1+2j)
以上是关于Python基础:数据类型的主要内容,如果未能解决你的问题,请参考以下文章