描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302501473丛书名: 21世纪高等学校计算机基础实用规划教材
本书既可以作为普通高校计算机相关专业的教材,也可以作为Python爱好者的参考书。
目录
第1章Python简介
1.1Python的发展历程
1.2Python的语言特点
习题1
第2章Python环境搭建
2.1Python安装
2.1.1Windows安装Python
2.1.2UNIX & Linux安装Python
2.1.3MAC安装Python
2.2Windows下环境变量的配置
2.3Hello, Python
习题2
第3章Python基础语法
3.1变量类型
3.2变量赋值
3.2.1单变量赋值
3.2.2多变量赋值
3.3数据类型
3.3.1数字数据类型
3.3.2字符串数据类型
3.3.3列表数据类型
3.3.4元组数据类型
3.3.5字典数据类型
3.3.6数据类型转换
3.4条件语句与循环语句
3.4.1条件语句
3.4.2循环语句
习题3
第4章函数
4.1函数定义
4.1.1空函数
4.1.2参数检查
4.1.3返回多个值
4.2函数调用
4.2.1按值传递参数和按引用传递参数
4.2.2函数的参数
4.2.3匿名函数
4.2.4关于return语句
4.2.5变量作用域
习题4
第5章模块
5.1模块的概念
5.1.1命名空间
5.1.2模块
5.1.3包
5.2模块内置属性
5.3第三方模块安装方法
习题5
第6章文件操作
6.1文件读写
6.1.1打开文件
6.1.2写入文件
6.1.3读取文件
6.1.4文件读写异常处理
6.2其他文件操作
6.2.1os模块文件操作
6.2.2shutil模块文件操作
习题6
第7章异常处理
7.1异常概念
7.2异常的抛出与捕获
7.3自定义异常
7.4使用断言异常处理
习题7
第8章面向对象编程
8.1面向对象编程的概念
8.2类与对象
8.2.1类与实例化
8.2.2初始化函数与析构函数
8.2.3类的属性
8.2.4类的方法
8.3面向对象的三大特性
8.3.1继承
8.3.2访问控制
8.3.3多态
8.4特殊的属性与方法
8.4.1slots属性
8.4.2只读的特殊属性
8.4.3str()方法
8.4.4repr()方法
习题8
第9章正则表达式
9.1正则表达式模式
9.1.1特殊字符
9.1.2普通字符
9.1.3特殊构造
9.2re模块
9.2.1匹配模式
9.2.2Pattern对象
9.2.3Match对象
习题9
第10章Python GUI编程
10.1GUI编程简介
10.1.1GUI编程
10.1.2GUI编程的特点
10.1.3Python GUI编程
10.2Tkinter模块GUI编程基础
10.2.1Tkinter基础
10.2.2Tkinter组件
10.2.3Tkinter布局
10.3使用Tkinter模块编写GUI程序
10.3.1Tkinter GUI封装
10.3.2Tkinter事件
习题10
第11章Python多线程与多进程编程
11.1线程与进程
11.1.1进程
11.1.2线程
11.1.3多线程与多进程
11.2Python多线程编程
11.2.1Python多线程的特殊性
11.2.2使用threading模块进行多线程编程
11.3Python多进程编程
11.3.1Python多进程编程的特点
11.3.2使用multiprocessing模块进行多进程编程
习题11
第12章Python访问数据库
12.1使用SQLite
12.1.1SQLite简介
12.1.2使用sqlite3模块操作SQLite
12.1.3SQLite小结
12.2使用SQLAlchemy
12.2.1SQLAlchemy简介
12.2.2使用SQLAlchemy操作SQLite数据库
12.2.3SQLAlchemy小结
习题12
第13章Python Socket网络编程
13.1Socket简介
13.1.1Socket通信概述
13.1.2TCP协议与UDP协议的区别
13.2Python Socket编程
13.2.1简易Socket通信
13.2.2使用多线程的多端Socket通信
13.2.3基于select、poll或epoll的异步Socket通信
习题13
第14章Python Web编程
14.1Python Web编程简介
14.2Flask框架应用基础
14.2.1Flask框架的安装与配置
14.2.2Flask使用基础
14.2.3在服务器上部署Flask项目
习题14
第15章Python综合应用实例
15.1带图形界面的简易计算器
15.2简单的网络爬虫
参考文献
Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,能简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释型语言的本质,使得它在大多数平台上的很多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。Python可以应用于众多领域,如数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有自动化运维、自动化测试、大数据分析、爬虫、Web 等。Python更加易于学习和掌握,并且可利用其大量的内置函数与丰富的扩展库来快速实现许多复杂的功能。在Python语言的学习过程中,仍然需要通过不断的练习与体会来熟悉Python的编程模式,尽量不要将其他语言的编程风格用在Python,而要从自然、简洁的角度出发,以免设计出冗长而低效率的Python程序。本书的主要特色有: 知识技术全面准确: 本书主要针对国内计算机相关专业的高校学生以及程序设计爱好者,书中详细介绍了Python语言的各种规则和规范,以便让读者能够全面掌握这门语言,从而设计出优秀的程序。 内容先进、体系得当: 本书的知识脉络清晰明了,第1~4章主要介绍Python的基本语法规则,第5~9章主要讲解一些更加深层的概念,而第10~15章则选取了Python一些在当下流行的具体应用场景下的应用。全书内容由浅入深,便于读者理解和掌握。 代码实例丰富完整: 对于书中每一个知识点都会配有一些示例代码并辅以相关说明文字及运行结果,还会有某些章节对一些经典的程序设计问题进行深入的讲解和探讨。读者可以参考源程序上机操作,加深体会。 微课辅助学习: 在某些章节,尤其是有关实际编程的章节,配有视频讲解。本书的编著者为吕云翔、孟爻、徐祺智,另外,曾洪立、吕彼佳、姜彦华参与了部分章节的编写及配套资源制作等。由于Python是一门新兴的程序设计语言,Python语言的教学方法本身还在探索之中,加之我们的水平和能力有限,本书难免有疏漏之处,恳请各位同仁和广大读者给予批评指正,也希望各位能将实践过程中的经验和心得与我们交流([email protected])。
编者2018年5月
Python作为一种解释型、面向对象、动态数据类型的高级程序设计语言,与Perl、C和Java等语言有许多相似之处,但也存在一些差异。本章将介绍Python的基础语法,让读者快速学会Python编程。3.1变 量 类 型变量即存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数、小数或字符。
3.2变 量 赋 值3.2.1单变量赋值
Python中的变量赋值不需要进行类型声明,每个变量都在内存中创建,
图3.1变量赋值实例
包括变量的标识、名称和数据这些信息。但是每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建,其中等号(=)用来给变量赋值。如图3.1(a)中所示代码分别给三个变量赋予了不同的数据类型,并输出各个变量,图3.1(b)为输出结果。
3.2.2多变量赋值Python允许同时为多个变量赋值,如图3.2所示,创建一个整型对象,值为1,三个变量被分配到相同的内存空间。另外,可以为多个对象指定多个变量,如图3.3所示,两个整型对象1和2分配给变量a和b,字符串对象“BUAA”分配给变量c。
图3.2多变量同类型赋值
图3.3多变量不同类型赋值
3.3数 据 类 型在内存中存储的数据可以有多种类型,其中Python定义了一些标准类型,用于存储各种类型的数据,如Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)等。3.3.1数字数据类型数字数据类型用于存储数值,它们是不可改变的数据类型,这就意味着改变数字数据类型会分配一个新的对象。当指定数值时,Number对象会被创建。当然,可以使用del语句删除一些对象的引用,语法如式(31)所示。
delvar1[,var2[,var3[…,varN]]](31)
Python支持4种不同类型的数字类型: int(有符号整型)、long(长整型)、float(浮点型)、complex(复数)。一些数值实例如表3.1所示。
表3.1数字数据类型的部分实例
intlongfloatcomplex
10-4721885298529L0.03.14j105192436L15.209.322e36j-7860122L70.2E123e 26j
长整型也可以使用小写“l”,但还是建议使用大写“L”,避免与数字“1”混淆,其中Python使用“L”来显示长整型。同时,Python还支持复数,复数由实数部分和虚数部分构成,可以用a bj或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。3.3.2字符串数据类型字符串或串(String)是由数字、字母、下画线组成的一串字符,它是编程语言中表示文本的数据类型。一般记为式(32)。
s=a1a2a3…an(n≥0)(32)
Python的字串列表有两种取值顺序: ①从左到右索引默认0开始的,最大范围是字符串长度少1。②从右到左索引默认-1开始的,最大范围是字符串开头。如果要实现从字符串中获取一段子字符串的话,可以使用变量[头下标: 尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。例如s=”ilovepython”,s[0:5]的结果是ilove。当使用以冒号分隔的字符串时,Python返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。上面的结果包含了s[0]的值x,而取到的最大范围不包括上边界,就是s[7]的值d。其中加号( )是字符串连接运算符,星号(*)是重复操作。如图3.4中的实例,图3.5为其输出结果。
图3.4字符串操作相关代码
图3.5图3.4的输出结果
3.3.3列表数据类型List(列表)是Python中使用最频繁的数据类型,可以完成大多数集合类的数据结构实现,支持字符、数字、字符串甚至可以包含列表(即嵌套)。列表用[ ]标识,是最通用的复合数据类型,列表中值的切割也可以用变量[头下标: 尾下标]截取相应的列表,从左到右索引默认0开始,从右到左索引默认1开始,下标可以为空表示取到头或尾。加号( )是列表连接运算符,星号(*)是重复操作。相关操作代码如图3.6所示,图3.7则为其输出。
图3.6列表操作相关代码
图3.7图3.6的输出结果
3.3.4元组数据类型元组是一种类似于列表的数据类型,用“()”标识,内部元素用逗号隔开,但是元组不能二次赋值,相当于只读列表。相关操作代码如图3.8所示,图3.9则为其输出,另外图3.10表示试图更改元组元素的反馈。3.3.5字典数据类型字典(Dictionary)是除列表以外Python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于: 字典当中的元素是通过键来存取的,而不是通过偏移来存取。字典用“{ }”标识。字典由索引(key)和它对应的值value组成。图3.11表示了部分字典操作代码,图3.12则为其输出。
图3.8元组操作相关代码
图3.9图3.8的输出结果
图3.10试图更改元组元素
图3.11字典相关操作代码
图3.12图3.11的输出结果
3.3.6数据类型转换有时候,我们需要对数据内置的类型进行转换,进行数据类型的转换时,只需要将数据类型作为函数名即可,如表3.2所示,以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,即转换的值。
表3.2部分数据转换函数
函数描述
Int(x[,base])将x转换为一个整数Long(x[,base])将x转换为一个长整数
续表
函数描述
float(x)将x转换为一个浮点数Complex(real[,imag])创建一个复数Str(x)将对象x转换为字符串Repr(x)将对象x转换为表达式字符串Eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象Tuple(s)将序列s转换为一个元组List(s)将序列s转换为一个列表Set(s)转换为可变集合Dict(d)创建一个字典,d必须是一个序列元组Frozenset(s)转换为不可变集合Chr(x)将一个整数转换为一个字符Unichr(x)将一个整数转换为Unicode字符Ord(x)将一个字符转换为其整数值Hex(x)将一个整数转换为一个十六进制字符串Oct(x)将一个整数转换为一个八进制字符串
3.4条件语句与循环语句3.4.1条件语句
Python中条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块的,程序框图如图3.13所示。
图3.13条件语句程序框图
Python编程中if语句用于控制程序的执行,其中“判断条件”成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。else为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。if语句的判断条件可以用>(大于)、=(大于等于)、<=(小于等于)来表示其关系。由于Python并不支持switch语句,所以多个条件判断,只能用elif来实现,如果判断需要多个条件同时判断时,可以使用or(或),表示两个条件有一个成立时判断条件成立; 使用and(与)时,表示只有两个条件同时成立的情况下,判断条件才成立。当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外and和or的优先级低于>(大于)、
图3.14if条件语句示例
3.4.2循环语句程序在一般情况下是按顺序执行的,然而编程语言提供了各种控制结构,允许更复杂的执行路径。其中循环语句允许我们执行一个语句或语句组多次,图3.15是在大多数编程语言中的循环语句的一般格式。其中Python提供了for循环和while循环,循环控制语句可以更改语句执行的顺序,Python支持break语句、continue语句以及pass语句,continue用来跳过一次循环,break用来终止循环。for循环语法格式如下所示,图3.16给出for循环的一个示例。
for元素 in 某种元素集合:
循环语句
图3.15循环语句的一般格式
图3.16for循环实例
while循环语法格式如下所示,图3.17给出while循环的一个示例。
while 循环条件:
循环语句
在熟悉条件语句与循环语句的基础上,图3.18给出了一个二分法猜数字小游戏,采用while循环和条件语句实现。
图3.17while循环示例
图3.18猜数字小游戏
习题3一、 选择题1. 下列选项中,()是字符串类型变量。
A. PythonB. 12345C. ‘12345’D. (“Python”,)2. 下列赋值中,()是不正确的。A. a,b,c = 1B. a=b=c=1C. a,b,c = 1,2,3D. a,b,c = 1,2,”Python”3. 有Python字符串变量“str = ‘ILovePython’”,则“str[2:5]”的输出是()。A. LoveB. ILoveC. oveD. Python二、 填空题1. Python定义了一些标准类型,用于存储各种类型的数据,其中有,,,,。2. Python中,列表使用包围,元组使用包围,字典使用包围。3. Python中,函数用来计算字符串中有效的Python表达式。三、 论述题Python中有哪些标准类型?它们之间如何互相转换?四、 编程题1. 某高校学生成绩按照分数划分为几段: 90分以上为A,80分以上为B,70分以上为C,60分以上为D,低于60分为E。编写程序,使程序输出学生分数时可以输出其对应的分数段。2. “二分法”是编程中常用的算法之一,例如猜数字时,猜的数字是0~100之间的整数。首先我们取0~100的中间数,即50,询问这个数比要猜的数大还是小,如果小,下一次取50~100的中间数,如果大,下一次取0~50的中间数,直到猜到正确数字。编写程序,实现二分法猜数字。
评论
还没有评论。