上一章Python教程请查看:python3变量,常量和字面量
在本教程中,你将了解如何在Python中使用的不同数据类型。
Python中的数据类型Python中的每个值都有一个数据类型,因为在Python编程中,所有东西都是对象,所以数据类型实际上是类,而变量是这些类的实例(对象)。
Python中有各种数据类型,下面列出了一些重要的类型。
Python的数字类型整数、浮点数和复数都属于Python数字的范畴。在Python中,它们被定义为int、float和complex类。
我们可以使用type()函数来知道一个变量或值属于哪个类,使用isinstance()函数来检查一个对象是否属于某个特定的类。
a = 5
print(a, " 的类型为:", type(a))a = 2.0
print(a, " 的类型为:", type(a))a = 1+2j
print(a, " 是复数?", isinstance(1+2j,complex))
整数的长度可以是任意的,它只受可用内存的限制。
浮点数精确到小数点后15位,整数和浮点数之间用小数点隔开,1是整数,1.0是浮点数。
复数写成x + yj的形式,其中x是实部,y是虚部。这里有一些例子。
>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)
注意,浮点变量b被截断了。
Python列表列表是项目的有序序列,它是Python中最常用的数据类型之一,非常灵活,列表中的所有项不必具有相同的类型。
声明一个列表非常简单,用逗号分隔的项括在括号内[]。
>>> a = [1, 2.2, 'python']
我们可以使用切片操作符[]从列表中提取项或项范围,在Python中,索引从0开始。
a = [5,10,15,20,25,30,35,40]# a[2] = 15
print("a[2] = ", a[2])# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])
列表是可变的,意思是,列表元素的值可以改变。
>>> a = [1,2,3]
>>> a[2]=4
>>> a
[1, 2, 4]
Python Tuple元组Tuple是与list相同的项目的有序序列,唯一的区别是元组是不可变的,元组一旦创建就不能修改。
元组用于写保护数据,通常比list更快,因为它不能动态更改。
它是在括号()中定义的,其中项由逗号分隔。
>>> t = (5,'program', 1+3j)
我们可以使用切片操作符[]来提取项目,但是我们不能改变它的值。
t = (5,'program', 1+3j)# t[1] = 'program'
print("t[1] = ", t[1])# t[0:3] = (5, 'program', (1+3j))
print("t[0:3] = ", t[0:3])# 生成错误
# 元组是不可变的
t[0] = 10
Python字符串字符串是Unicode字符的序列,我们可以使用单引号或双引号来表示字符串,多行字符串可以用三重引号‘’‘或”””来表示。
>>> s = "This is a string"
>>> s = '''a muline
与列表和元组一样,切片操作符[]也可以与字符串一起使用,字符串是不可变的。
s = 'Hello world!'# s[4] = 'o'
print("s[4] = ", s[4])# s[6:11] = 'world'
print("s[6:11] = ", s[6:11])# 生成错误
# python字符串是不可更改的
s[5] ='d'
Python集合Set是惟一项的无序集合,Set由大括号{}中的逗号分隔的值定义,集合中的项目是不排序的。
a = {5,2,3,1,4}# 打印集合变量
print("a = ", a)# 变量a的数据类型
print(type(a))
我们可以在两个集合上执行集合操作,比如联合,交集。Set有惟一的值,他们消除重复。
>>> a = {1,2,2,3,3,3}
>>> a
{1, 2, 3}
因为集合是无序集合,所以索引没有意义,因此,切片操作符[]不起作用。
>>> a = {1,2,3}
>>> a[1]
Traceback (most recent call last):
File "<
string>", line 301, in runcode
File "<
interactive input>", line 1, in <
module>
TypeError: 'set' object does not support indexing
Python字典Dictionary是键值对的无序集合。
它通常用于我们有大量数据的时候,字典为检索数据进行了优化,我们必须知道检索值的键。
在Python中,字典是在大括号{}中定义的,每个项都是表单key:value中的一对。键和值可以是任何类型。
>>> d = {1:'value','key':2}
>>> type(d)
<
class 'dict'>
我们使用key来检索各自的值,但反过来不行。
d = {1:'value','key':2}
print(type(d))print("d[1] = ", d[1]);
print("d['key'] = ", d['key']);
# 生成错误
print("d[2] = ", d[2]);
数据类型之间的转换我们可以通过使用不同的类型转换函数,如int()、float()、str()等,在不同的数据类型之间进行转换。
>>> float(5)
5.0
从float到int的转换将截断该值(使其更接近于零)。
>>> int(10.6)
10
>>> int(-10.6)
-10
对字符串的转换必须包含兼容的值。
>>> float('2.5')
2.5
>>> str(25)
'25'
>>> int('1p')
Traceback (most recent call last):
File "<
string>", line 301, in runcode
File "<
interactive input>", line 1, in <
module>
ValueError: invalid literal for int() with base 10: '1p'
我们甚至可以把一个序列转换成另一个序列。
>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
【python3数据类型 – Python3教程】要转换成dictionary,每个元素必须是一对:
>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}
推荐阅读
- python3类型转换 – Python3教程
- python3变量,常量和字面量 – Python3教程
- python3语句,缩进和注释 – Python3教程
- python3关键字和标识符 – Python3教程
- python3入门初试编程 – Python3教程
- python3快速入门学习总结 – Python3教程
- python C语言扩展编程 – Python高级开发教程
- python GUI编程 – Python高级开发教程
- python XML处理 – Python高级开发教程