![]()
内容推荐 本书结合编者多年的程序设计、系统开发与课程讲授的经验,由浅入深、循序渐进地介绍了Python程序设计方法,使读者能够系统、全面地掌握程序设计的理论与应用。全书共13章,主要内容包括:Python基础知识与软件安装,数值、字符串、列表、元组、字典、集合数据类型,选择结构与循环结构,函数与lambda表达式,正则表达式、re模块以及Match对象的使用方法,文本文件、Word文档以及Excel文件的读与写,面向对象程序设计的相关知识,模块和包的创建与使用,Tkinter图形用户界面设计,利用matplotlib库实现数据可视化,Python连接以及使用其操作数据库的方法,网络编程、网页解析以及网络爬虫等。 本书可作为计算机、人工智能、大数据等相关专业的程序设计课程教材,也可供非理工科专业的学生学习使用,还可作为Python爱好者的自学参考用书。 作者简介 曹洁,同济大学计算机软件与理论专业博士,郑州轻工业大学软件学院教师。研究方向:数据分析、机器学习、并行分布式处理等。近年在软件学报、电子学报、计算机研究与发展、通信学报等核心刊物上发表学术论文10余篇,2019年7月在清华大学出版社以作者身份出版高等院校信息技术规划教材《Python语言程序设计(微课版)》。 目录 章Python语言概述1 1.1Python语言特点2 1.2Python应用领域3 1.3下载和安装Python软件3 1.4编写和执行Python代码的方式6 1.4.1用命令行格式的PythonShell编写和执行代码6 1.4.2用带图形界面格式的PythonShell编写和执行交互式代码7 1.4.3用带图形界面格式的PythonShell编写和执行程序代码8 1.5Python注释9 1.5.1单行注释9 1.5.2多行注释9 1.6在线帮助9 1.6.1Python交互式帮助系统9 1.6.2Python文档11 习题112 第2章Python语言基础13 2.1Python对象和引用14 2.1.1对象的身份14 2.1.2对象的类型14 2.1.3对象的值14 2.1.4对象的引用14 2.2数值数据类型15 2.3字符串数据类型17 2.3.1字符串创建17 2.3.2转义字符17 2.3.3字符编码18 2.3.4字符串运算符19 2.3.5字符串对象的常用方法20 2.3.6字符串常量25 2.4列表数据类型26 2.4.1列表创建26 2.4.2列表截取26 2.4.3列表修改27 2.4.4序列数据类型的常用操作27 2.4.5用于列表的常用函数28 2.4.6列表对象的常用方法29 2.4.7列表生成式31 2.5元组数据类型32 2.5.1元组创建32 2.5.2元组访问32 2.5.3元组修改33 2.5.4生成器推导式33 2.6字典数据类型34 2.6.1字典创建34 2.6.2字典访问35 2.6.3字典元素的添加、修改与删除36 2.6.4字典对象的常用方法36 2.6.5字典推导式38 2.7集合数据类型38 2.7.1集合创建38 2.7.2集合元素添加38 2.7.3集合元素删除39 2.7.4集合运算39 2.7.5集合推导式40 2.8Python数据类型之间的转换40 2.9Python中的运算符42 2.9.1Python算术运算符42 2.9.2Python比较(关系)运算符42 2.9.3Python赋值运算符43 2.9.4Python位运算符43 2.9.5Python逻辑运算符44 2.9.6Python成员运算符44 2.9.7Python身份运算符44 2.9.8Python运算符的优先级45 2.10Python中的数据输入45 2.11Python中的数据输出46 2.11.1表达式语句输出47 2.11.2print()函数输出47 2.11.3字符串对象的format()方法输出49 2.12Python库的导入与扩展库的安装51 2.12.1库的导入51 2.12.2扩展库的安装52 习题253 第3章程序流程控制55 3.1布尔表达式56 3.2选择结构56 3.2.1单向if选择语句56 3.2.2双向if-else选择语句57 3.2.3嵌套if选择语句和多向if-elif-else选择语句59 3.3条件表达式60 3.4while循环结构61 3.5while循环控制策略63 3.5.1交互式循环64 3.5.2哨兵式循环64 3.5.3文件式循环65 3.6for循环结构66 3.6.1for循环的基本用法66 3.6.2for循环适用的对象67 3.6.3for循环与range()函数的结合使用69 3.7循环中的break、continue和else71 3.7.1用break语句提前终止循环71 3.7.2用continue语句提前结束本次循环72 3.7.3循环语句的else子句73 习题374 第4章函数75 4.1函数定义76 4.2函数调用77 4.2.1带有返回值的函数调用77 4.2.2不带返回值的函数调用79 4.3函数参数的类型80 4.3.1位置参数80 4.3.2关键字参数80 4.3.3默认值参数81 4.3.4可变长度参数81 4.3.5序列解包参数82 4.4lambda表达式83 4.4.1lambda和def的区别83 4.4.2自由变量对lambda表达式的影响85 4.5函数的递归调用86 4.6常用内置函数88 4.6.1map()函数88 4.6.2reduce()函数89 4.6.3filter()函数90 习题490 第5章正则表达式91 5.1正则表达式的构成92 5.2正则表达式的模式匹配95 5.2.1边界匹配95 5.2.2分组、选择、引用、匹配95 5.2.3贪婪匹配与懒惰匹配98 5.3正则表达式模块re99 5.4正则表达式对象102 5.5Match对象103 习题5104 第6章文件与文件夹操作105 6.1文本文件106 6.1.1文本文件的字符编码106 6.1.2文本文件的打开107 6.1.3文本文件的写入110 6.1.4文本文件的读取111 6.1.5文本文件指针的定位112 6.2文件与文件夹操作113 6.2.1使用os操作文件与文件夹114 6.2.2使用os.path操作文件与文件夹115 6.2.3使用shutil操作文件与文件夹117 6.3处理Word文档119 6.3.1创建与保存Word文档119 6.3.2读取Word文档119 6.3.3写入Word文档120 6.4处理Excel文件121 6.4.1利用xlrd模块读Excel文件122 6.4.2利用xlwt模块写Excel文件124 习题6124 第7章面向对象程序设计125 7.1定义类126 7.2创建类的对象126 7.3类中的属性127 7.3.1类的对象属性127 7.3.2类属性128 7.3.3私有属性和公有属性130 7.3.4@property装饰器132 7.4类中的方法134 7.4.1类的对象方法134 7.4.2类方法136 7.4.3类的静态方法137 7.5类的继承138 7.5.1类的单继承138 7.5.2类的多重继承141 7.5.3类成员的继承和重写143 7.5.4查看继承的层次关系143 习题7144 第8章模块和包145 8.1模块146 8.1.1模块的创建146 8.1.2模块的导入和使用147 8.1.3模块的主要属性147 8.2系统目录的添加150 8.2.1导入模块时搜索目录的顺序150 8.2.2使用sys.path.append()临时添加系统目录151 8.2.3使用pth文件永久添加系统目录151 8.2.4使用PYTHONPATH环境变量永久添加系统目录151 8.3包152 8.3.1包的创建152 8.3.2包的导入与使用153 习题8154 第9章图形用户界面设计155 9.1图形用户界面库156 9.2Tkinter图形用户界面库156 9.2.1Tkinter概述156 9.2.2Tkinter图形用户界面的构成157 9.3常用Tkinter组件的使用158 9.3.1标签组件158 9.3.2按钮组件160 9.3.3单选按钮组件162 9.3.4多行文本框组件164 9.3.5复选框组件166 9.3.6列表框组件169 9.3.7菜单组件171 9.3.8消息组件174 9.3.9消息窗口174 9.3.10单行文本框组件175 9.3.11框架组件177 9.4使用Canvas(画布)组件绘图178 9.4.1Canvas(画布)组件178 9.4.2绘制直线179 9.4.3绘制矩形180 9.4.4绘制多边形181 9.4.5绘制椭圆182 9.4.6绘制文本183 9.4.7绘制图像184 9.5Tkinter的主要几何布局管理器184 9.5.1pack布局管理器184 9.5.2grid布局管理器186 9.5.3place布局管理器187 习题9188 0章利用matplotlib库实现数据可视化189 10.1matplotlib库概述190 10.2绘制线形图193 10.3绘制直方图199 10.4绘制条形图200 10.5绘制饼图204 10.6绘制散点图206 习题10207 1章数据库编程209 11.1数据库基础210 11.1.1关系型数据库210 11.1.2通用数据库访问模块210 11.2SQLite3数据库211 11.2.1Connection对象212 11.2.2Cursor对象213 11.3Access数据库215 11.3.1创建Access数据库216 11.3.2操作Access数据库219 11.4MySQL数据库219 11.4.1连接MySQL数据库219 11.4.2创建游标对象220 11.4.3执行SQL语句220 11.4.4创建数据库221 11.4.5创建数据表221 11.4.6插入数据222 11.4.7查询数据223 11.4.8更新数据和删除数据224 11.5JSON数据225 11.5.1JSON数据格式225 11.5.2Python解码和编码JSON数据226 11.5.3Python操作JSON文件227 习题11228 2章网络编程229 12.1计算机网络基础知识230 12.1.1网络协议230 12.1.2应用层协议231 12.1.3传输层协议231 12.1.4IP地址和MAC地址232 12.2Socket编程232 12.2.1Socket概念232 12.2.2Socket类型233 12.2.3Socket对象的常用方法233 12.3TCP编程236 12.4UDP编程239 12.5HTTP编程241 12.5.1HTTP特性241 12.5.2HTTP通信过程242 12.5.3HTTP报文结构242 12.5.4使用requests库实现HTTP请求248 12.5.5Cookie251 12.5.6使用requests库简单获取网页内容252 习题12252 3章网络爬虫253 13.1网络爬虫概述254 13.1.1网页的概念254 13.1.2网络爬虫工作流程254 13.2通过BeautifulSoup库提取网页信息254 13.2.1BeautifulSoup库的安装255 13.2.2BeautifulSoup库的导入255 13.2.3BeautifulSoup类的基本元素255 13.2.4HTML内容搜索257 13.3使用urllib库开发简单的爬虫259 13.3.1发送不带参数的GET请求260 13.3.2模拟浏览器发送带参数的GET请求260 13.3.3URL解析261 13.4抓取京东网站上小米手机的评论262 13.4.1京东网站页面分析262 13.4.2编写京东网站上小米手机评论爬虫代码265 习题13267 参考文献268 |