目录

  • 单元1  初识Python
    • ● 任务 1.1  计算机程序设计语言概述
    • ● 任务 1.2 Python语言
    • ● 任务1.3 Python开发环境搭建
    • ● 任务 1.4 Python的简单使用
    • ● 知识拓展
    • ● 思考与练习
  • 单元2   Python基础知识
    • ● 任务2.1 Python程序基本结构
    • ● 任务2.2  标准输入输出
    • ● 任务2.3  Python对象
    • ● 任务2.4 Python变量
    • ● 任务2.5  数据类型
    • ● 任务2.6 字符串
    • ● 任务2.7 运算符
    • ● 知识拓展
    • ● 思考与练习
  • 单元3   程序流程控制
    • ● 任务3.1  顺序结构
    • ● 任务3.2 选择结构
    • ● 任务3.3  循环结构
    • ● 知识拓展
    • ● 思考与练习
  • 单元4  Python序列
    • ● 任务4.1  序列
    • ● 任务4.2 列表
    • ● 任务4.3  用于序列操作的常用内置函数
    • ● 任务4.4   元组
    • ● 任务4.5  字典
    • ● 任务4.6  集合
    • ● 知识拓展
    • ● 思考与练习
  • 单元5  函数
    • ● 任务5.1 函数的定义与调用
    • ● 任务5.2 函数的参数
    • ● 任务5.3   参数类型
    • ● 任务5.4  变量作用域
    • ● 任务5.5   嵌套调用与递归调用
    • ● 任务5.6  lambda表达式
    • ● 任务5.7  模块
    • ● 知识拓展
    • ● 思考与练习
  • 单元6  异常处理
    • ● 任务6.1 异常处理的基本概念
    • ● 任务6.2 Python的异常处理语句
    • ● 任务6.3  自定义异常
    • ● 知识扩展
    • ● 思考与练习
  • 单元7  文件操作
    • ● 任务7.1  文件的分类
    • ● 任务7.2  文件对象
    • ● 任务7.3  文本文件
    • ● 任务7.4  二进制文件
    • ● 知识拓展
    • ● 思考与练习
  • 单元8  面向对象程序设计
    • ● 任务8.1 面向对象技术的基本概念
    • ● 任务8.2 类与对象
    • ● 任务8.3 类的继承
    • ● 任务8.4 方法重写
    • ● 知识扩展
    • ● 思考与练习
  • 单元9  网络编程基础
    • ● 任务9.1  Socket概述
    • ● 任务9.2   Socket对象内建方法
    • ● 任务9.3  Socket编程实例
    • ● 任务9.4    PythonInternet模块
    • ● 知识扩展
    • ● 思考与练习
  • 单元10    Python标准库及第三方库
    • ● 任务10.1 Python标准库
    • ● 任务10.2 Python第三方库的下载及安装
    • ● 任务10.3  Python第三方库举例
    • ● 知识扩展
    • ● 思考与练习
  • 任务11 用户图形界面(GUI)
    • ● 任务11.1 图形用户界面概述
    • ● 任务11.2 窗体容器和组件
    • ● 任务11.3 界面布局管理
    • ● 任务11.4 文本框组件
    • ● 任务11.5 其他组件
    • ● 任务11.6菜单与对话框
    • ● 任务11.7 鼠标键盘事件
    • ● 知识扩展
    • ● 思考与练习
  • 任务12   Python操作数据库
    • ● 数据库基础
    • ● 结构化查询语言SQL
    • ● Python操作数据库核心API
    • ● Python操作数据库案例
    • ● sqlite3 实训练习案例
    • ● pymysql 数据库实训案例
    • ● 小结  思考与练习
  • 习题解析(线上作业等参考解答)
    • ● 第一单元 初识Python  作业
    • ● 第二单元  Python基础(作业)
    • ● 第三单元  程序流程控制 作业(1)
    • ● 第三单元  程序流程控制  作业(2)
    • ● 第四单元  Python序列   作业
    • ● 第五单元   函数   作业
    • ● 单元六  异常处理  作业
    • ● 单元七、八  文件操作,GUI,面向对象
    • ● 单元九   网络编程基础
    • ● 线上习题解析
    • ● 编程训练
  • 应用题解(综合编程技术)
    • ● 《食品识别小专家》
    • ● 格式输出
    • ● 习题选解
    • ● 每日一帖
    • ● 模拟基本信息
    • ● 模拟基本数据
    • ● 数制转换
    • ● 定制每日运动计划
    • ● 《简易购物系统》
  • 课程章节测验
    • ● 第1次章节测验
  • 复习
    • ● Python基础知识总结
  • 第三方库TOOLS(备用)
    • ● 库模块(可下载)
    • ● 供考查备用的库模块(可下载)
任务4.1  序列

(1) 序列 

在Python语言中,序列是最基本的数据结构类型之一。序列中的每个元素可以是任何类型(当然也可以是序列),每个元素被分配一个序号,即元素位置(也称为索引)。第一个元素的序号规定为0,第二个为1,依次类推。

   Python中的序列包括6种:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。其中最常用的是列表、元组和字符串。

在表示形式上,列表使用中括号 [ ] ,而元组使用圆括号()。

列表和元组的区别不仅表现在它们的表示形式上,它们的本质区别在于,列表是可以修改的而元组不能。如下例所示:

>>> lsa=[1,2,3]  #lsa是列表

>>> tup=(1,2,3)  #tup是元组

>>> lsa[0]=2

>>> tup[0]=2

Traceback (most recent call last):

File "<pyshell#9>", line 1, in <module>

tup[0]=2

TypeError: 'tuple' object does not support item assignment

上面代码中,lsa[0]表示序列lsa中第一个元素,tup[0]同理。可以看到当尝试修改元组中的元素时,程序会报错终止。

它们的这种特性也决定了列表的使用比元组更灵活,而且大部分情况下列表都可以代替元组。既然如此,为什么还要元组呢?元组的不可改变性,确保元组在程序中不会被另一个应用修改,而列表就没有这样的保证。同时,有些地方列表是无法使用的,如字典中的键值。

(2)序列基本操作

在Python语言中序列类型虽然有6种,但它们之间存在一些通用操作,这些操作是最基本的也是最常用的。在本节中将以列表为例来演示序列的基本操作。

1)索引 

 序列中每个元素都有编号(同样从0开始编号),这些元素可以通过编号来进行访问和读取。使用方法为:   序列[编号]

>>> a=[1,2,3,4]

>>> a[0]

1

例:  a=[1,2,3,4]

        print(a[0],a[2])     #输出 1   3

如果想读取倒数第几个元素,但是不知道序列的长度时,也可以从最后同一个元素开始计数,如果使用这种方式,最后一个元素的编号是-1,第二个为-2,依次类推,如下例所:

>>> a[-1]

4  

例:  a=[1,2,3,4]

        print(a[-1],a[-2])     #输出 4   3   


2)切片

在Python中可以使用索引每次读取一个值,也可以使用切片读取序列中的一段值。使用方法:    序列名字[开始编号:结束编号后一个:步长]

其中默认步长为1。如下例所示:

>>> a=[1,2,3,4,5]

>>> a[1:3]

[2, 3]

>>> a[1:-1]

[2, 3, 4]

>>> a[1:] # : 后未给定值表示

[2, 3, 4, 5]

>>> a[:-1] # : 前未给定元素表示从第一个元素开始

[1, 2, 3, 4]

>>> a[:] # : 前后都为给值,表示读取整个序列

[1, 2, 3, 4, 5]

注意:使用切片所得到的结果也是序列,其类型不变

     # 例:程序代码  

      a=[1,2,3,4,5]

      print(a[1:3], a[1:-1], a[:-1],a[:]) 

     #输出结果:[2, 3]    [2, 3, 4]  [2, 3, 4, 5]  [1, 2, 3, 4, 5]

     c=[a[1:3],a[1:-1],a[:-1],a[:]]

     print(c)    #输出结果:[[2, 3], [2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4, 5]]

3)序列加

 可以使用“+”将相同类型的序列连接在一起。

使用方法:     序列+序列

要求前后两个序列是相同类型。如下例所示:

>>> a=[1,2,3]

>>> b=[2,3,4]

>>> a+b                      # a,b均是列表

[1, 2, 3, 2, 3, 4]

>>> a=[1,2,3]

>>> b=(1,2,3)

>>> a+b                      # a是列表,b是元组,不能连接

Traceback (most recent call last):

  File "<pyshell#32>", line 1, in <module>

    a+b

TypeError: can only concatenate list (not "tuple") to list

例: a=[1,2,3,4,5]

        b=a[1:3]+a[1:-1]+a[:-1]+a[:]

        print(b)      #输出结果:[2, 3, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5]

4)序列乘

可以使用“*”使序列重复n次得到一个新的序列。

使用方法:     序列*n,其中n表示重复次数

如下例所示:

>>> a=[1,2,3]

>>> a*3

[1, 2, 3, 1, 2, 3, 1, 2, 3]

  # 例:

  a=[1,2,3]

   b=a*3

   print(b)      #输出结果:[1,2, 3, 1,2,3, 1, 2, 3]

  print(a*2)      #输出结果:[1,2, 3, 1,2, 3]

5)  in

可以使用“in”检查某个元素是否在序列中。

使用方法:元素a in 序列A,如果a在A中,则返回True,否则返回False

如下例所示:

>>> a=[1,2,3]

>>> 1 in a

True

>>> 4 in a

False

#例:  检查某人是否是华夏的学生

hxname=['张三','李四','王五','林明']

name=input("姓名:")

if  name in hxname:

    print(name,"是华夏的学生!")

else:

     print(name,"不是华夏的学生!")

6)函数  len、max、min

len,max和min是Python内建的几个常用的函数,分别返回序列的长度,最大值,最小值。

使用方法:len(序列),max(序列),min(序列)

如下例所示:

>>> num=[1,2,3,4,85]

>>> len(num)

5

>>> max(num)

85

>>> min(num)

1

>>> max(1,2,55)

55

>>> min(2,4,-1)

-1

注意:max,min也可以接受多个数字作为参数,如上面最后两个例子。

#例 使用函数  len、max、min

hxname=['张三','李四','王五','林芳']

age=[19,20,22,21]

print(hxname,age)

print(len(hxname),len(age))

print(max(age),min(age))

print(max(hxname),min(hxname))