广州番禺Python, Java小班周末班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6
11.1.1 理解元组类型
元组与列表有着相同的数据结构,区别在于,元组是静态的数据类型,而列表是动态的数据类型。关于元组与列表的区别,会在11.4节中进行详细讲解。Python中的元组类型是用()符号括住的一个数据集合,集合中的元素以英文逗号进行分隔。与列表一样,在元组类型中可以包含任意的数据类型:
# 定义一个元组变量container container = (1,'2',3.0,True) # 元组中的元素可为任意数据类型
元组与列表,以及字符串一样,都是一种线性的顺序表结构:
对线性的顺序表结构不是很熟悉的同学,可以复习9.1节《字符串的基础概念》的内容。
在线性的序列结构中,都可以通过索引的方式来访问数据集合中的元素:
# 1.字符串是一种线性的序列结构 love = 'I Love You' # 读取字符串中的第一个字符 char = love[0] # 2.列表也是一种线性的序列结构 container = [1, '2', 3.0, True] # 读取列表中的第一个元素 element = container[0] # 3.元组也是一种线性的序列结构 container = (1, '2', 3.0, True) # 读取元组中的第一个元素 element = container[0]
Python中的索引从0开始编号,0表示第一个位置,1表示第二个位置。Python也支持负数索引,负数索引从-1开始编号,-1表示倒数第一个位置,-2表示倒数第二个位置,以此类推。
11.1.2 元组的类型名
在交互模式中通过type来输出字符串的类型名:
>>> container = (1, '2', 3.0, True)>>> type(container)<class 'tuple'>
从输出可知,元组的类型名为tuple。
11.1.3 元组的定义
对元组进行定义,主要有对象定义法和直接定义法。
(1) 对象定义法
元组的类型名是tuple,可以直接在交互模式中执行help(tuple)来查找tuple的定义及用法:
class tuple(object)| tuple(iterable=(), /)|| Built-in immutable sequence.|| If no argument is given, the constructor returns an empty tuple.| If iterable is specified the tuple is initialized from iterable's items.|| If the argument is a tuple, the return value is the same object.
在交互模式的输出中,tuple(iterable=(),/)的形式就是对象定义法。参数iterable表示可迭代对象。迄今学过的数据类型中,字符串、列表、元组都是一种可迭代对象。在Python中,凡是可以对集合中的元素进行遍历的数据类型,都是可迭代对象。所谓的遍历,就是逐一地访问集合中的元素。
代码实例:
# __desc__ = 通过对象定义法定义元组 # 1.定义空元组 # 不传递任何参数时,定义的是空元组 container = tuple() # 2.传递字符串类型定义元组,字符串是可迭代对象 letters = tuple("abcdefg") """ letters的输出为('a','b','c','d','e','f','g') 从输出可以看出,是逐一地将字符串中的字符添加进列表中 """ # 3.传递列表类型定义元组,列表也是可迭代对象 container = tuple([1, '2', 3.0, True]) # container的输出为(1, '2', 3.0,True)(2) 直接定义法
所谓的直接定义法,是直接通过()符号来定义元组:
# __desc__ = 通过()符号来直接定义列表 container = (1, '2', 3.0, True) 在元组中只存在一个元素时,后面必须加一个英文的逗号。 代码实例: # __desc__ = 元组中只存在一个元素时,后面必须加一个逗号 container = (1,) # 如果不加逗号,那么()符号只是括号,而不是元组的别名符号 container = (1) # 此时的container是一个整型变量 # container = (1) 相当于 container = 1列表类型可以包含任意地数据类型,现在通过直接定义法来定义嵌套的元组。所谓嵌套的元组,是指在元组中包含元组。
代码实例:
# __desc__ = 定义嵌套元组 # 定义一个二维的元组 container = ((1,2,3),(4,5,6)) # 定义一个三维的元组 container = (((1,2,3),(4,5,6)))在定义元组时,也可以直接将()去掉,Python会自动地将逗号分隔的元素视为一个元组。
代码实例:
# __desc__ = 定义元组时将()去掉 # Python会自动地将逗号分隔的元素列表视为一个元组 container = 1,2,3 # 只存在一个元素时,后面必须带上一个逗号 container = 1, type(container) # type的输出为<class 'tuple'>
10.1.4 元组的解包
将元组赋值给其它变量时,Python会自动地对元组执行解包。理解解包的概念,先看一则简单的代码实例:
# __desc__ = 理解元组的解包 # 定义一个元组 container = 1,2,3 a,b,c = container # a的值为1,b的值为2,c的值为3代码讲解:
(1) 元组解包就是将元组进行拆解,然后将元组中的元素按序进行赋值(2) 在代码a,b,c = container中,将元组container中的元素按序赋值给左边的变量
将元组进行解包赋值时,赋值操作符左边的变量个数必须与元组中的元素个数一致,否则会抛出异常信息。
元组中只存在一个元素时,如何解包?
代码实例:
# __desc__ = 对只包含一个元素的元组进行解包 # 定义一个只包含一个元素的元组 container = 1, # 变量后面加一个逗号即可 element,= container # element指向的值为1
11.1.4 遍历可迭代对象
Python中的简单数据类型,都是不可迭代的对象。迄今学过的简单数据类型有整型,浮点类型,布尔类型。Python中的复合数据类型都是可迭代的对象。对于可迭代对象,可以在for循环结构中对集合中的元素进行遍历。
代码实例:
# __desc__ = 在for循环中遍历元组 # 定义一个元组变量 container = 1,2,3,4,5 # 在for循环中遍历元组中的元素 for _ in container: print(_) # 程序的输出为 1 2 3 4 5
11.1.5 本节知识要点
(1) 元组类型是一种数据集合,将集合中的元素按先后顺序进行排列(2) Python中使用()括住的为元组类型,()中的元素以英文逗号进行分隔(3) 元组的类型名是tuple,同字符串以及列表一样,元组也是线性的序列结构(4) 可以通过对象定义法和直接定义法来定义元组(5) 简单数据类型是不可迭代的,Python中的复合数据类型都是可迭代的对象(6) 对于可迭代对象,可以在for循环中遍历集合中的元素
11.1.6 最具实力的小班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取Python学习资料: