收藏 分享(赏)

Python3从入门到实战.pdf

上传人:g****t 文档编号:2356240 上传时间:2023-05-08 格式:PDF 页数:428 大小:7.71MB
下载 相关 举报
Python3从入门到实战.pdf_第1页
第1页 / 共428页
Python3从入门到实战.pdf_第2页
第2页 / 共428页
Python3从入门到实战.pdf_第3页
第3页 / 共428页
Python3从入门到实战.pdf_第4页
第4页 / 共428页
Python3从入门到实战.pdf_第5页
第5页 / 共428页
Python3从入门到实战.pdf_第6页
第6页 / 共428页
亲,该文档总共428页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 内 容 简 介 本书是一本语法与实践相结合的 Python 入门教程,全书分为上、下篇。上篇为“Python 语法与实践”,以简明的语言、易懂的案例介绍 Python 的变量与对象、运算符与表达式、控制语句、函数、内置数据类型,Python 的面向对象特征,如类与对象、派生类、类的实例与静态方法等 Python 语言的核心语法,以及迭代器与可迭代对象、闭包、装饰器、property、深拷贝与浅拷贝等高级语言特征,还介绍了错误与异常、调试。在核心语法部分采用来自数据结构、游戏编程、信息管理、机器学习、强化学习等其他学科和领域的一些经典问题作为实战演练,展示了 Python 解决实际问题的强大功

2、能,以提高初学者的实际编程能力,使其尽快熟悉语法的使用。下篇为“Python 标准库”,对常用的一些 Python 标准库,如操作系统接口模块、时间日期模块,以及正则表达式、并发计算、图形用户接口编程、网络套接字编程、Internet 应用编程、数据持久化等进行了介绍。本书描述精练、通俗易懂,提供了丰富的实战案例,既可作为大学本科和高职高专相关专业课程的教材,也可供编程爱好者学习和参考。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Python3 从入门到实战/董洪伟编著.北京:电子工业出版社,2020.1 ISBN 978-7-121

3、-35356-7 IP II董 III软件工具程序设计高等学校教材 IVTP311.561 中国版本图书馆 CIP 数据核字(2018)第 251247 号 策划编辑:戴晨辰 责任编辑:张 慧 文字编辑:刘 瑀 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:7871092 1/16 印张:26.75 字数:684.80 千字 版 次:2020 年 1 月第 1 版 印 次:2020 年 1 月第 1 次印刷 定 价:75.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(

4、010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:。III Python 是一种易于学习、功能强大的编程语言。它具有高效的高级数据结构,能够简单有效地实现面向对象编程。Python 简单的语法和动态类型,连同解释型特性,使其成为不同平台上脚本处理及快速应用开发的理想语言。此外,Python 还是数据分析和人工智能的首选编程语言。编著者希望编写一本既简明扼要,又深入全面的 Python 教材,既避免过多的语法细节,又注重语言本身实际使用能力的培养。本书突出重点,讲解主要的常用语法,而不是面面俱到的语法细节。全书由浅入深,由易到难,尽量用

5、浅显易懂的例子说明语法概念,力求简明扼要,避免空洞的概念和冗长的描述,帮助无编程基础的初学者在较短的时间里快速理解 Python 语言的核心特征。只有通过具体、长期的实战训练,才能逐步精通一种编程语言。语法知识可以在短期内学习并理解,但只有经过大量实战训练才能真正熟练掌握一种编程语言。本书准备了游戏编程、信息管理、数据结构、机器学习、强化学习等不同领域的经典实战案例,希望可以通过这些案例,帮助读者消化语法知识、提高学习兴趣,逐步将 Python 用于解决各种实际问题而不是用于简单的语法练习,希望避免“只会考试而不会编程”的普遍问题。实战案例涉及一些其他学科的专业知识,初学者或教师可以根据自己的

6、需要选读或选讲实战部分。本书包含配套学习资源,读者可在本书的 github 网站(https:/hwdong-net.github.io)或登录华信教育资源网()注册后免费下载。由于编著者水平所限,书中错误之处在所难免,欢迎读者对本书进行批评与指正,共同完善本书内容,使更多的读者受益。编著者 V 上篇 Python 语法与实践 第 1 章 Python 介绍 3 1.1 程序与编程语言 3 1.1.1 计算机是什么 3 1.1.2 计算机编程 4 1.1.3 编译器、解释器和Python 语言 5 1.1.4 Python 程序开发步骤 6 1.2 Python 语言的主要特征 6 1.3 P

7、ython 开发环境及安装方式 7 1.3.1 安装 Python 7 1.3.2 Python 开发环境 8 1.4 Python 解释器 8 1.4.1 交互式解释执行模式 9 1.4.2 函数 9 1.4.3 运行脚本文件模式 11 1.4.4 语句和注释 11 1.5 数和字符的表示 12 1.5.1 数的表示 12 1.5.2 字符的表示 13 1.6 如何获得帮助 14 1.7 习题 14 第 2 章 Python 基本计算 16 2.1 值、类型、对象 16 2.1.1 值和类型 16 2.1.2 对象 17 2.2 变量 18 2.2.1 什么是变量 18 2.2.2 变量名和

8、关键字 20 2.2.3 动态类型语言 20 2.3 数据类型概述 20 2.3.1 数值类型 21 2.3.2 列表 21 2.3.3 元组 22 2.3.4 字符串 23 2.3.5 集合 25 2.3.6 字典 25 2.4 类型转换和输入 26 2.4.1 隐式类型转换 26 2.4.2 显式类型转换 26 2.4.3 输入 27 2.5 运算符和表达式 28 2.5.1 运算符和表达式的应用方法 28 2.5.2 运算符的种类 29 2.5.3 运算符的优先级 34 2.6 可变对象和不可变对象 35 2.7 控制语句 38 2.7.1 if 条件语句 38 2.7.2 循环语句 4

9、0 2.7.3 pass 语句 43 2.8 实战 43 2.8.1 二分查找 43 2.8.2 冒泡排序和简单选择排序 45 2.8.3 Floyd 最短路径算法 46 2.9 习题 48 第 3 章 函数 53 3.1 定义函数、调用函数、参数传递 53 3.1.1 定义函数和调用函数 53 3.1.2 参数传递 54 3.1.3 return 语句 56 VI3.1.4 文档字符串 57 3.2 全局变量和局部变量 58 3.2.1 全局变量 58 3.2.2 局部变量 59 3.3 函数的参数 60 3.3.1 默认形参 60 3.3.2 位置实参和关键字实参 61 3.3.3 任意形

10、参(可变形参)62 3.3.4 字典形参 63 3.3.5 解封参数列表 64 3.4 递归函数(调用自身的函数)65 3.4.1 递归函数的使用方法 65 3.4.2 实战:二分查找的递归实现 67 3.4.3 实战:汉诺塔问题 67 3.4.4 实战:快速排序算法 68 3.4.5 实战:迷宫问题 70 3.5 函数对象和 lambda 表达式 72 3.5.1 函数对象 72 3.5.2 lambda 表达式 75 3.6 模块和包 78 3.6.1 模块 78 3.6.2 sys 模块(Python 解释器接口)83 3.6.3 伪随机数发生器模块 86 3.6.4 包 88 3.6.

11、5 Matplotlib 包 92 3.7 实战:Pong 游戏 95 3.7.1 Pygame 游戏库介绍 95 3.7.2 用 Pygame 编写游戏 96 3.7.3 Pong 游戏 98 3.8 实战:线性回归 103 3.8.1 机器学习 103 3.8.2 假设函数、回归和分类 104 3.8.3 线性回归 105 3.8.4 多变量函数的最小值、正规 方程 106 3.8.5 梯度下降法 107 3.8.6 梯度下降法求解线性回归 问题:模拟数据 108 3.8.7 批梯度下降法 112 3.8.8 房屋价格预测 114 3.8.9 样本特征的规范化 114 3.8.10 利用预

12、测模型预测房屋价格 116 3.9 习题 117 第 4 章 内置数据类型 119 4.1 数值 119 4.1.1 int、float、complex、bool 119 4.1.2 类型转换 120 4.1.3 浮点数的精度问题 121 4.1.4 数值计算的函数 122 4.1.5 数学模块 122 4.2 列表 126 4.2.1 列表的定义 126 4.2.2 访问 list 的元素(索引和 切片)127 4.2.3 包含和遍历 128 4.2.4 list 的算术运算 129 4.2.5 Python 的内置函数对 list 进行 操作 129 4.2.6 list 的方法 131

13、4.2.7 列表解析式 133 4.2.8 list 包含的不是对象本身 而是对象的引用 133 4.3 字符串 134 4.3.1 定义字符串 134 4.3.2 转义字符 136 4.3.3 索引 137 4.3.4 切片 138 4.3.5 字符串不可修改 138 4.3.6 包含和遍历 139 4.3.7 内置函数对字符串操作 139 4.3.8 字符串的方法 140 4.4 元组 144 4.4.1 创建 tuple 对象 144 4.4.2 索引和切片 146 4.4.3 tuple 是不可变的 146 4.4.4 用内置函数对 tuple 操作 148 4.4.5 tuple 的

14、方法 148 4.5 集合 149 4.5.1 创建 set 对象 149 4.5.2 遍历 set 151 4.5.3 用内置函数对 set 操作 151 4.5.4 set 的方法 151 4.5.5 set 的运算符操作 153 4.5.6 set 的集合运算(并、交、对称差)153 4.6 字典 154 VII4.6.1 创建字典对象 155 4.6.2 获取键的值 156 4.6.3 通过下标插入或更新一个 键值 156 4.6.4 插入或更新多个键值:update()方法 157 4.6.5 删除键值 157 4.6.6 获取所有键、所有值、所有键值 158 4.6.7 遍历所有键

15、、所有值、所有键值 158 4.6.8 用内置函数访问 dict 对象 158 4.6.9 从两个可迭代对象创建 一个 dict 159 4.6.10 用 in 检测 dict 对象是否 包含某个键 159 4.7 用强化学习 Q-Learning 算法求解 最佳路径 159 4.7.1 强化学习 159 4.7.2 Q-Learning 算法 161 4.7.3 Q-Learning 算法的 Python 实现 162 4.8 习题 167 第 5 章 面向对象编程 173 5.1 什么是面向对象编程 173 5.1.1 过程式编程和面向对象编程 173 5.1.2 Python 既支持面向

16、对象编程,也支持过程式编程 174 5.1.3 打印员工信息 175 5.2 类和对象 177 5.2.1 定义类 177 5.2.2 实例属性和构造函数 178 5.2.3 实例方法 180 5.2.4 类属性 181 5.2.5 del 183 5.2.6 访问控制和私有属性 184 5.2.7 运算符重载 186 5.3 派生类 187 5.3.1 派生类 187 5.3.2 覆盖 190 5.3.3 多继承 191 5.3.4 属性解析 192 5.4 绑定属性 193 5.4.1 动态绑定:给类和对象任意 绑定属性 193 5.4.2 对象的_dict_属性 195 5.4.3 _slots_ 195 5.5 实战:二叉搜索树 197 5.5.1 树、二叉树、二叉搜索树 197 5.5.2 树和二叉树的存储表示 199 5.5.3 二叉树的操作 201 5.5.4 二叉搜索树的操作 202 5.6 实战:面向对象游戏引擎和 仿“雷电战机”游戏 204 5.6.1 面向对象游戏引擎 205 5.6.2 Pong 游戏 209 5.6.3 仿“雷电战机”游戏 212 5.7 习题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2