您好,欢迎光临有路网!
Python程序设计与算法基础教程(第2版)-微课版
QQ咨询:
有路璐璐:

Python程序设计与算法基础教程(第2版)-微课版

  • 作者:江红、余青松
  • 出版社:清华大学出版社
  • ISBN:9787302524830
  • 出版日期:2019年06月01日
  • 页数:393
  • 定价:¥59.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书集教材、练习册、上机指导于一体,基于Windows 10和Python 3.7构建Python开发平台,阐述Python语言的基础知识,以及使用Python语言的开发应用实例,具体内容包括Python概述,Python语言基础,程序流程控制,常用内置数据类型,序列数据类型,输入和输出,错误和异常处理,函数、类和对象,模块和客户端,算法与数据结构基础,图形用户界面,图形绘制,数值日期和时间处理,字符串和文本处理,文件、数据库访问,网络和Web编程,多线程编程以及系统管理等。 本书编者结合多年的程序设计、系统开发以及授课经验,由浅入深、循序渐进地介绍Python程序设计语言,让读者能够较为系统、全面地掌握程序设计的理论和应用。本书还提供了教学微课视频。 本书可以作为高等学校各专业的计算机程序设计教程,也可作为广大程序设计***、爱好者的自学参考书。
    文章节选
    第3章程序流程控制







    视频讲解


    在Python程序中,对于语句的执行有3种基本控制结构,即顺序结构、选择结构、循环结构。
    3.1顺 序 结 构



    图31顺序结构示意图


    若程序中的语句按各语句出现位置的先后次序执行,称之为顺序结构,参见图31。在图31中先执行语句块1,再执行语句块2,*后执行语句块3,3个语句块之间是顺序执行关系。

    【例3.1】顺序结构示例(area.py): 输入三角形3条边的边长(为简单起见,假设这3条边可以构成三角形),计算三角形的面积。提示: 三角形面积=h*(h-a)*(h-b)*(h-c),其中,a、b、c是三角形3条边的边长,h是三角形周长的一半。

    import math

    a = float(input("请输入三角形的边长a:"))

    b = float(input("请输入三角形的边长b:"))

    c = float(input("请输入三角形的边长c:"))

    h = (a b c) / 2#三角形周长的一半

    area = math.sqrt(h*(h-a)*(h-b)*(h-c));#三角形面积

    print(str.format("三角形三边分别为:a={0},b={1},c={2}", a, b, c))

    print(str.format("三角形的面积 = {0}", area))
    程序运行结果如下。

    请输入三角形的边长a: 3

    请输入三角形的边长b: 4

    请输入三角形的边长c: 5

    三角形三边分别为: a=3.0,b=4.0,c=5.0

    三角形的面积 = 6.0
    3.2选 择 结 构
    选择结构可以根据条件来控制代码的执行分支,也叫分支结构。Python使用if语句来实现分支结构。
    3.2.1分支结构的形式
    分支结构包含单分支、双分支和多分支等形式,流程如图32(a)~(c)所示。


    图32if语句的选择结构
    目录
    目录 源码下载 第1章Python概述 1.1初识Python语言 1.1.1Python语言简介 1.1.2Python语言的特点 1.1.3Python语言的应用范围 1.2Python语言版本和开发环境 1.2.1Python语言的版本 1.2.2Python语言的实现 1.2.3Python语言的集成开发环境 1.3下载和安装Python 1.3.1下载Python 1.3.2安装Python 1.3.3安装和管理Python扩展包 1.4使用Python解释器解释执行Python程序 1.4.1运行Python解释器 1.4.2运行Python集成开发环境 1.5使用文本编辑器和命令行编写和执行Python源文件程序 1.5.1编写输出“Hello,World!”的程序 1.5.2输出“Hello,World!”程序的源代码分析 1.5.3运行Python源代码程序 1.5.4命令行参数 1.6使用集成开发环境IDLE编写和执行Python源文件程序 1.6.1使用IDLE编写程序 1.6.2使用IDLE编辑程序 1.7在线帮助和相关资源 1.7.1Python交互式帮助系统 1.7.2Python文档 1.7.3Python官网 1.7.4Python扩展库索引 1.8复习题 1.9上机实践 1.10案例研究: 安装和使用其他Python环境 第2章Python语言基础 2.1Python程序概述 2.1.1引例 2.1.2Python程序的构成 2.2Python对象和引用 2.2.1Python对象概述 2.2.2使用字面量创建实例对象 2.2.3使用类对象创建实例对象 2.2.4数据类型 2.2.5变量和对象的引用 2.2.6Python是动态类型语言 2.2.7Python是强类型语言 2.2.8对象内存示意图 2.2.9对象的值比较和引用判别 2.2.10不可变对象和可变对象 2.3标识符及其命名规则 2.3.1标识符 2.3.2保留关键字 2.3.3Python预定义标识符 2.3.4命名规则 2.4变量和赋值语句 2.4.1变量的声明和赋值 2.4.2链式赋值语句 2.4.3复合赋值语句 2.4.4删除变量 2.4.5序列解包赋值 2.4.6常量 2.5表达式和运算符 2.5.1表达式的组成 2.5.2表达式的书写规则 2.5.3运算符概述 2.5.4Python运算符 2.6语句 2.6.1Python语句 2.6.2Python语句的书写规则 2.6.3复合语句及其缩进书写规则 2.6.4注释语句 2.6.5空语句 2.7函数和模块 2.7.1函数的创建和调用 2.7.2内置函数 2.7.3模块函数 2.7.4函数API 2.8类和对象 2.8.1创建类对象 2.8.2实例对象的创建和调用 2.9模块和包 2.10复习题 2.11上机实践 2.12案例研究: 使用Pillow库处理图像文件 第3章程序流程控制 3.1顺序结构 3.2选择结构 3.2.1分支结构的形式 3.2.2单分支结构 3.2.3双分支结构 3.2.4多分支结构 3.2.5if语句的嵌套 3.2.6if语句的典型示例代码 3.2.7选择结构综合举例 3.3循环结构 3.3.1可迭代对象 3.3.2range对象 3.3.3for循环 3.3.4while循环 3.3.5循环的嵌套 3.3.6break语句 3.3.7continue语句 3.3.8死循环 3.3.9else子句 3.3.10enumerate()函数和循环 3.3.11zip()函数和循环 3.3.12map()函数和循环 3.3.13循环语句的典型示例代码 3.3.14循环结构综合举例 3.4复习题 3.5上机实践 3.6案例研究: 使用嵌套循环实现图像处理算法 第4章常用内置数据类型 4.1Python内置数据类型概述 4.1.1数值数据类型 4.1.2序列数据类型 4.1.3集合数据类型 4.1.4字典数据类型 4.1.5NoneType、NotImplementedType和EllipsisType 4.1.6其他数据类型 4.2int类型 4.2.1整型字面量 4.2.2int对象 4.2.3int对象的方法 4.2.4整数的运算 4.3float类型 4.3.1浮点类型字面量 4.3.2float对象 4.3.3float对象的方法 4.3.4浮点数的运算 4.4complex类型 4.4.1复数类型字面量 4.4.2complex对象 4.4.3complex对象的属性和方法 4.4.4复数的运算 4.5bool类型 4.5.1布尔值字面量 4.5.2bool对象 4.5.3逻辑运算符 4.6str类型 4.6.1字符串字面量 4.6.2字符串编码 4.6.3转义字符 4.6.4str对象 4.6.5str对象的属性和方法 4.6.6字符串的运算 4.6.7对象转换为字符串 4.6.8字符串的格式化 4.6.9格式化字符串变量 4.7比较关系运算和条件表达式 4.7.1条件表达式 4.7.2关系和测试运算符 4.8算术运算符和位运算符 4.8.1算术运算符 4.8.2位运算符 4.9混合运算和数值类型转换 4.9.1隐式转换 4.9.2显式转换 4.10内置标准数学函数 4.10.1内置数学运算函数 4.10.2数制转换函数 4.11复习题 4.12上机实践 4.13案例研究: 科学计算和数据分析 第5章序列数据类型 5.1Python序列数据概述 5.1.1数组 5.1.2Python内置的序列数据类型 5.2序列数据的基本操作 5.2.1序列的长度、*大值、*小值、求和 5.2.2序列的索引访问操作 5.2.3序列的切片操作 5.2.4序列的连接和重复操作 5.2.5序列的成员关系操作 5.2.6序列的比较运算操作 5.2.7序列的排序操作 5.2.8内置函数all()和any() 5.2.9序列的拆分 5.3元组 5.3.1使用元组字面量创建元组实例对象 5.3.2使用tuple对象创建元组实例对象 5.3.3元组的序列操作 5.4列表 5.4.1使用列表字面量创建列表实例对象 5.4.2使用list对象创建列表实例对象 5.4.3列表的序列操作 5.4.4list对象的方法 5.4.5列表解析表达式 5.5字符串 5.5.1字符串的序列操作 5.5.2字符串编码 5.5.3字符串的格式化 5.6字节序列 5.6.1bytes常量 5.6.2创建bytes对象 5.6.3创建bytearray对象 5.6.4bytes和bytearray的序列操作 5.6.5字节编码和解码 5.7复习题 5.8上机实践 5.9案例研究: 猜单词游戏 第6章输入和输出 6.1输入和输出概述 6.2命令行参数 6.2.1sys.argv与命令行参数 6.2.2argparse模块和命令行参数解析 6.3标准输入和标准输出函数 6.3.1输入和输出函数 6.3.2交互式用户输入 6.3.3运行时提示输入密码 6.4文件和文件对象 6.4.1文件对象和open()函数 6.4.2文件的打开、写入、读取和关闭 6.4.3with语句和上下文管理协议 6.5标准输入、输出和错误流 6.5.1标准输入、输出和错误流文件对象 6.5.2读取任意长度的输入流 6.5.3标准输入、输出和错误流重定向 6.6重定向和管道 6.6.1重定向标准输出到一个文件 6.6.2重定向文件到标准输入 6.6.3管道 6.6.4过滤器 6.7复习题 6.8上机实践 6.9案例研究: 21点扑克牌游戏 第7章错误和异常处理 7.1程序的错误 7.1.1语法错误 7.1.2运行时错误 7.1.3逻辑错误 7.2异常处理 7.2.1异常处理概述 7.2.2内置的异常类 7.2.3引发异常 7.2.4捕获处理异常机制概述 7.2.5Python虚拟机捕获处理异常 7.2.6使用try…except…else…finally语句捕获处理异常 7.2.7捕获异常的顺序 7.2.8finally块和发生异常后的处理 7.2.9自定义异常类 7.3断言处理 7.3.1断言处理概述 7.3.2assert语句和AssertionError类 7.3.3启用/禁用断言 7.4程序的基本调试方法 7.4.1语法错误的调试 7.4.2运行时错误的调试 7.4.3逻辑错误的调试 7.5使用logging模块输入日志 7.5.1logging模块概述 7.5.2logging的配置和使用 7.6复习题 7.7上机实践 7.8案例研究: 使用调试器调试Python程序 第8章函数和函数式编程 8.1函数概述 8.1.1函数的基本概念 8.1.2函数的功能 8.1.3Python中函数的分类 8.2函数的声明和调用 8.2.1函数对象的创建 8.2.2函数的调用 8.2.3函数的副作用 8.3参数的传递 8.3.1形式参数和实际参数 8.3.2形式参数变量和对象引用传递 8.3.3传递不可变对象的引用 8.3.4传递可变对象的引用 8.3.5可选参数 8.3.6位置参数和命名参数 8.3.7可变参数 8.3.8强制命名参数 8.3.9参数类型检查 8.4函数的返回值 8.4.1return语句和函数返回值 8.4.2多条return语句 8.4.3返回多个值 8.5变量的作用域 8.5.1全局变量 8.5.2局部变量 8.5.3全局语句global 8.5.4非局部语句nonlocal 8.5.5类成员变量 8.5.6输出局部变量和全局变量 8.6递归函数 8.6.1递归函数的定义 8.6.2递归函数的原理 8.6.3编写递归函数时需要注意的问题 8.6.4递归函数的应用: *大公约数 8.6.5递归函数的应用: 汉诺塔 8.7内置函数的使用 8.7.1内置函数一览 8.7.2eval()函数 8.7.3exec()函数 8.7.4compile()函数 8.8Python函数式编程基础 8.8.1作为对象的函数 8.8.2高阶函数 8.8.3map()函数 8.8.4filter()函数 8.8.5Lambda表达式和匿名函数 8.8.6operator模块和操作符函数 8.8.7functools.reduce()函数 8.8.8偏函数 8.8.9sorted()函数 8.8.10函数装饰器 8.9复习题 8.10上机实践 8.11案例研究: 井字棋游戏 第9章面向对象的程序设计 9.1面向对象概念 9.1.1对象的定义 9.1.2封装 9.1.3继承 9.1.4多态性 9.2类对象和实例对象 9.2.1类对象 9.2.2实例对象 9.3属性 9.3.1实例对象属性 9.3.2类对象属性 9.3.3私有属性和公有属性 9.3.4@property装饰器 9.3.5特殊属性 9.3.6自定义属性 9.4方法 9.4.1对象实例方法 9.4.2静态方法 9.4.3类方法 9.4.4__init__()方法和__new__()方法 9.4.5__del__()方法 9.4.6私有方法与公有方法 9.4.7方法的重载 9.5继承 9.5.1派生类 9.5.2查看继承的层次关系 9.5.3类成员的继承和重写 9.6对象的特殊方法 9.6.1对象的特殊方法概述 9.6.2运算符重载与对象的特殊方法 9.6.3@functools.total_ordering装饰器 9.6.4__call__()方法和可调用对象 9.7对象的引用、浅拷贝和深拷贝 9.7.1对象的引用 9.7.2对象的浅拷贝 9.7.3对象的深拷贝 9.8可迭代对象: 迭代器和生成器 9.8.1可迭代对象 9.8.2迭代器 9.8.3迭代器协议 9.8.4可迭代对象的迭代: iter()函数和next()函数 9.8.5可迭代对象的迭代: for语句 9.8.6自定义可迭代对象和迭代器 9.8.7生成器函数 9.8.8反向迭代: reversed迭代器 9.8.9生成器表达式 9.8.10range可迭代对象 9.8.11map迭代器和itertools.starmap迭代器 9.8.12filter迭代器和itertools.filterfalse迭代器 9.8.13zip迭代器和itertools.zip_longest迭代器 9.8.14enumerate迭代器 9.8.15无穷序列迭代器itertools.count、cycle和repeat 9.8.16累计迭代器itertools.accumulate 9.8.17级联迭代器itertools.chain 9.8.18选择压缩迭代器itertools.compress 9.8.19截取迭代器itertools.dropwhile和takewhile 9.8.20切片迭代器itertools.islice 9.8.21分组迭代器itertools.groupby 9.8.22返回多个迭代器itertools.tee 9.8.23组合迭代器itertools.combinations和combinations_with_replacement 9.8.24排列迭代器itertools.permutations 9.8.25笛卡儿积迭代器itertools.product 9.9自定义类应用举例 9.9.1Color类 9.9.2Histogram类 9.10复习题 9.11上机实践 9.12案例研究: 文本相似度比较分析 第10章模块和客户端 10.1模块化程序设计的概念 10.1.1模块化程序设计 10.1.2模块的API 10.1.3模块的实现 10.1.4模块的客户端 10.1.5模块化程序设计的优越性 10.2模块的设计和实现 10.2.1模块设计的一般原则 10.2.2API设计 10.2.3创建模块 10.2.4模块的私有函数 10.2.5模块的测试代码 10.2.6编写模块文档字符串 10.2.7按字节编译的.pyc文件 10.3模块的导入和使用 10.3.1导入模块和使用模块 10.3.2导入模块中的成员 10.3.3重新加载模块 10.3.4动态导入模块 10.4包 10.4.1包的概念 10.4.2创建包 10.4.3包的导入和使用 10.5模块的导入顺序 10.5.1导入模块时的搜索顺序 10.5.2模块搜索路径 10.5.3dir()函数 10.6名称空间与名称查找顺序 10.6.1名称空间概述 10.6.2名称查找顺序 10.6.3顶层模块和__name__变量 10.6.4Python解释器 10.6.5全局名称空间 10.6.6局部名称空间 10.6.7类和对象名称空间 10.7复习题 10.8上机实践 10.9案例研究: 基于模块的库存管理系统 第11章算法与数据结构基础 11.1算法及其性能分析 11.1.1算法概述 11.1.2算法的时间复杂度分析 11.1.3增长量级 11.1.4算法的空间复杂度分析 11.2查找算法 11.2.1顺序查找法 11.2.2二分查找法 11.2.3Python语言提供的查找算法 11.3排序算法 11.3.1冒泡排序法 11.3.2选择排序法 11.3.3插入排序法 11.3.4归并排序法 11.3.5快速排序法 11.3.6Python语言提供的排序算法 11.4常用数据结构 11.4.1数据结构概述 11.4.2常用数据结构概述 11.4.3Python中的collections模块 11.5数组 11.5.1列表和数组 11.5.2array.array对象和数组 11.6栈和队列 11.6.1栈的实现: 使用列表 11.6.2deque对象 11.6.3deque作为栈 11.6.4deque作为队列 11.7集合 11.7.1集合的定义 11.7.2集合解析表达式 11.7.3判断集合元素是否存在 11.7.4集合的运算: 并集、交集、差集和对称差集 11.7.5集合的比较运算: 相等、子集和超集 11.7.6集合的长度、*大值、*小值、元素和 11.7.7可变集合的方法 11.8字典 11.8.1对象的哈希值 11.8.2字典的定义 11.8.3字典的访问操作 11.8.4字典的视图对象 11.8.5字典的遍历 11.8.6字典解析表达式 11.8.7判断字典键是否存在 11.8.8字典对象的长度和比较 11.8.9字典对象的方法 11.8.10defaultdict对象 11.8.11OrderedDict对象 11.8.12ChainMap对象 11.8.13Counter对象 11.9collections模块的其他数据结构 11.9.1namedtuple对象 11.9.2UserDict、UserList和UserString对象 11.10应用举例 11.10.1去除列表中的重复项 11.10.2基于字典的通讯录 11.11复习题 11.12上机实践 11.13案例研究: 程序运行时间度量分析 第12章图形用户界面 12.1图形用户界面概述 12.1.1tkinter 12.1.2其他GUI库简介 12.2tkinter概述 12.2.1tkinter模块 12.2.2图形用户界面的构成 12.2.3框架和GUI应用程序类 12.2.4tkinter主窗口 12.3几何布局管理器 12.3.1pack几何布局管理器 12.3.2grid几何布局管理器 12.3.3place几何布局管理器 12.4事件处理 12.4.1事件类型 12.4.2事件绑定 12.4.3事件处理函数 12.5常用组件 12.5.1Label 12.5.2LabelFrame 12.5.3Button 12.5.4Message 12.5.5Entry 12.5.6Text 12.5.7Radiobutton 12.5.8Checkbutton 12.5.9Listbox 12.5.10OptionMenu 12.5.11Scale 12.5.12Toplevel 12.5.13ttk子模块控件 12.6对话框 12.6.1通用消息对话框 12.6.2文件对话框 12.6.3颜色选择对话框 12.6.4通用对话框应用举例 12.6.5简单对话框 12.7菜单和工具栏 12.7.1创建主菜单 12.7.2创建上下文菜单 12.7.3菜单应用举例 12.8基于wxPython的图形用户界面设计入门 12.8.1wxPython概述 12.8.2安装wxPython库 12.8.3wxPython应用程序的基本架构 12.8.4使用wxPython开发简易文本编辑器 12.9复习题 12.10上机实践 12.11案例研究: 简易图形用户界面计算器 第13章图形绘制 13.1Python绘图模块概述 13.2基于tkinter的图形绘制 13.2.1基于tkinter的画布绘图概述 13.2.2创建画布对象 13.2.3绘制矩形 13.2.4绘制椭圆 13.2.5绘制圆弧 13.2.6绘制线条 13.2.7绘制多边形 13.2.8绘制字符串 13.2.9应用举例: 绘制函数图形 13.3基于turtle模块的海龟绘图 13.3.1海龟绘图概述 13.3.2turtle模块概述 13.3.3绘制正方形 13.3.4绘制多边形 13.3.5绘制圆形螺旋 13.3.6递归图形 13.3.7海龟绘图的应用实例 13.4基于Matplotlib模块的绘图 13.4.1Matplotlib模块概述 13.4.2安装Matplotlib模块 13.4.3使用Matplotlib模块绘图概述 13.4.4绘制函数曲线 13.4.5绘制多个图形 13.4.6绘制直方图 13.5复习题 13.6上机实践 13.7案例研究: 汉诺塔问题求解动画 第14章数值日期和时间处理 14.1相关模块概述 14.1.1数值处理的相关模块 14.1.2日期和时间处理的相关模块 14.2math模块和数学函数 14.2.1math模块的API 14.2.2math模块应用举例 14.3cmath模块和复数数学函数 14.4random模块和随机函数 14.4.1种子和随机状态 14.4.2随机��数 14.4.3随机序列 14.5数值运算模块NumPy 14.5.1数值运算模块的基本使用 14.5.2创建数组 14.5.3处理数组 14.5.4数组应用举例 14.6日期和时间处理 14.6.1相关术语 14.6.2时间对象 14.6.3测量程序运行时间 14.6.4日期对象 14.6.5获取当前日期时间 14.6.6日期时间格式化为字符串 14.6.7日期时间字符串解析为日期时间对象 14.7应用举例 14.7.1蒙特卡洛模拟: 赌徒破产命运 14.7.2使用随机数估值圆周率 14.7.3程序运行时间测量 14.8复习题 14.9上机实践 14.10案例研究: 使用pandas进行数据分析和处理 第15章字符串和文本处理 15.1相关模块概述 15.1.1字符串和文本处理的相关模块 15.1.2字符串处理的常用方法 15.2字符串处理的常用操作 15.2.1字符串的类型判断 15.2.2字符串的大小写转换 15.2.3字符串的填充、空白和对齐 15.2.4字符串的测试、查找和替换 15.2.5字符串的拆分和组合 15.2.6字符串的翻译和转换 15.2.7字符串应用举例 15.3正则表达式 15.3.1正则表达式语言概述 15.3.2正则表达式引擎 15.3.3普通字符和转义字符 15.3.4字符类和预定义字符类 15.3.5边界匹配符 15.3.6重复限定符 15.3.7匹配算法: 贪婪和懒惰 15.3.8选择分支 15.3.9分组和向后引用 15.3.10正则表达式的匹配模式 15.3.11常用正则表达式 15.4正则表达式模块re 15.4.1匹配和搜索函数 15.4.2匹配选项 15.4.3正则表达式对象 15.4.4匹配对象 15.4.5匹配和替换 15.4.6分隔字符串 15.5正则表达式应用举例 15.5.1字符串包含验证 15.5.2字符串的查找和拆分 15.5.3字符串的替换和清除 15.5.4字符串的查找和截取 15.6应用举例 15.6.1文本统计 15.6.2基因预测 15.6.3字符串的简单加密和解密 15.7复习题 15.8上机实践 15.9案例研究: NLTK与自然语言处理 第16章文件和数据交换 16.1文件操作相关模块概述 16.2文本文件的读取和写入 16.2.1文本文件的写入 16.2.2文本文件的读取 16.2.3文本文件的编码 16.3二进制文件的读取和写入 16.3.1二进制文件的写入 16.3.2二进制文件的读取 16.4随机文件访问 16.5内存文件的操作 16.5.1StringIO和内存文本文件的操作 16.5.2BytesIO和内存二进制文件的操作 16.6文件的压缩和解压缩 16.7CSV格式文件的读取和写入 16.7.1csv.reader对象和CSV文件的读取 16.7.2csv.writer对象和CSV文件的写入 16.7.3csv.DictReader对象和CSV文件的读取 16.7.4csv.DictWriter对象和CSV文件的写入 16.7.5CSV文件格式化参数和Dialect对象 16.8输入重定向和管道 16.8.1FileInput对象 16.8.2fileinput模块的函数 16.8.3输入重定向 16.9对象序列化 16.9.1对象序列化概述 16.9.2pickle模块和对象序列化 16.9.3json模块和JSON格式数据 16.10复习题 16.11上机实践 16.12案例研究: 百度音乐批量下载器 第17章数据库访问 17.1数据库基础 17.1.1数据库的概念 17.1.2关系数据库 17.2Python数据库访问模块 17.2.1通用数据库访问模块 17.2.2专用数据库访问模块 17.2.3SQLite数据库和sqlite3模块 17.3使用sqlite3模块连接和操作SQLite数据库 17.3.1访问数据库的步骤 17.3.2创建数据库和表 17.3.3数据库表的插入、更新和删除操作 17.3.4数据库表的查询操作 17.4使用SQLiteStudio查看和维护SQLite数据库 17.5复习题 17.6上机实践 17.7案例研究: 基于数据库和GUI的教务管理系统 第18章网络编程和通信 18.1网络编程的基本概念 18.1.1网络基础知识 18.1.2TCP/IP协议简介 18.1.3IP地址和域名 18.1.4统一资源定位器 18.2基于socket的网络编程 18.2.1socket概述 18.2.2创建socket对象 18.2.3将服务器端socket绑定到指定地址 18.2.4服务器端socket开始侦听 18.2.5连接和接收连接 18.2.6发送和接收数据 18.2.7简单TCP程序: Echo Server 18.2.8简单UDP程序: Echo Server 18.2.9UDP程序: Quote Server 18.3基于urllib的网络编程 18.3.1打开和读取URL网络资源 18.3.2创建Request对象 18.4基于http的网络编程 18.5基于ftplib的网络编程 18.5.1创建FTP对象 18.5.2创建FTP_TLS对象 18.6基于poplib和smtplib的网络编程 18.6.1使用poplib接收邮件 18.6.2使用smtplib发送邮件 18.7复习题 18.8上机实践 18.9案例研究: 网络爬虫案例 第19章并行计算: 进程、线程和协程 19.1并行处理概述 19.1.1进程、线程和协程 19.1.2Python语言与并行处理相关模块 19.2基于线程的并发处理 19.2.1threading模块概述 19.2.2使用Thread对象创建线程 19.2.3自定义派生于Thread的对象 19.2.4线程加入 19.2.5用户线程和daemon线程 19.2.6Timer线程 19.2.7基于原语锁的简单同步 19.2.8基于条件变量的同步和通信 19.2.9基于queue模块中队列的同步 19.2.10基于Event的同步和通信 19.3基于进程的并行计算 19.3.1multiprocessing模块概述 19.3.2创建和使用进程 19.3.3进程的数据共享 19.3.4进程池 19.4基于线程池/进程池的并发和并行任务 19.4.1concurrent.futures模块概述 19.4.2使用ThreadPoolExecutor并发执行任务 19.4.3使用ProcessPoolExecutor并发执行任务 19.5基于asyncio的异步IO编程 19.5.1asyncio模块概述 19.5.2创建协程对象 19.5.3创建任务对象 19.6应用举例 19.6.1使用Pool并行计算查找素数 19.6.2使用ProcessPoolExecutor并行判断素数 19.6.3使用ThreadPoolExecutor多线程爬取网页 19.7复习题 19.8上机实践 19.9案例研究: 文本统计并行处理 第20章系统管理 20.1系统管理相关模块 20.2目录、文件和磁盘的基本操作 20.2.1创建目录 20.2.2临时目录和文件的创建 20.2.3切换和获取当前工作目录 20.2.4目录内容列表 20.2.5文件通配符和glob.glob()函数 20.2.6遍历目录和os.walk()函数 20.2.7判断文件/目录是否存在 20.2.8测试文件类型 20.2.9文件的日期及大小 20.2.10文件和目录的删除 20.2.11文件和目录的复制、重命名和移动 20.2.12磁盘的基本操作 20.3执行操作系统命令和运行其他程序 20.3.1os.system()函数 20.3.2os.popen()函数 20.3.3subprocess模块 20.4获取终端的大小 20.5文件的压缩和解压缩 20.5.1shutil模块支持的压缩和解压缩格式 20.5.2make_archive()函数和文件压缩 20.5.3unpack_archive()函数和文件解压缩 20.6configparser模块和配置文件 20.6.1INI文件及INI文件格式 20.6.2ConfigParser对象和INI文件操作 20.7应用举例 20.7.1病毒扫描 20.7.2文件目录树 20.8复习题 20.9上机实践 20.10案例研究: 简易图形用户界面压缩软件 参考文献

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外