PYthon实战指南 版权信息
- ISBN:9787302548515
- 条形码:9787302548515 ; 978-7-302-54851-5
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
PYthon实战指南 本书特色
Python语言语法简单、功能库完善、开发周期短,并且具备强大的语言整合能力。其主要应用领域涵盖人工智能开发、数据挖掘、嵌入式开发、Web开发与后端服务开发,拥有健全的语言生态和广泛的应用场景——这是大量程序员从其他编程语言转向Python的主要原因,也是广大高校计算机类与电子信息类专业将Python作为程序设计基础课程的原因。为满足这种蓬勃兴起的学习需求,我们邀请周家安先生编写了此书。本书提供了300个精心设计的实例,以实战的方式帮助读者掌握Python的基本语法、功能与应用。本书实例全面呈现了读者关心的12个Python核心技术:
PYthon实战指南 内容简介
本书以300个不同类型的案例引导初学者快速入门,全面掌握Python语言编程技巧。这些案例各具特色,容易上手,趣味性强,学习效率高。本书内容涵盖字符串处理、包与模块管理、变量名称空间、代码流程控制、数学运算、面向对象编程、常用数据结构、异步编程、网络编程、文件与I/O、Tk组件与应用程序界面开发。
本书配套提供所有案例的源代码,便于读者动手实践甚至进行二次开发。本书适合作为广大高校计算机专业或相关培训机构的Python课程教材,也可以作为Python技术开发者的自学参考用书。
PYthon实战指南 目录
第1章 字符串处理
1.1 字符串表达式
案例1 单行文本
案例2 处理字符串中出现的引号
案例3 多行文本
1.2 代码注释与帮助文档
案例4 在代码中写注释
案例5 设置代码文件的字符编码
案例6 为代码对象撰写帮助文档
1.3 input与print函数
案例7 接收键盘输入
案例8 打印屏幕消息
案例9 打印进度条
案例10 将文本打印到文件中
案例11 打印文本时使用分隔符
案例12 使用sys.stdout打印文本
1.4 格式化字符串
案例13 输出十六进制字符串
案例14 设置字符串的对齐方式
案例15 数字的千位分隔符
案例16 “_”分隔符
案例17 自定义日期格式
案例18 使用format方法
案例19 省略格式占位符的名称和序号
案例20 字符串模板
案例21 字符串模板的安全替换模式
案例22 文本缩进
案例23 嵌套使用格式化语法
1.5 str类的常用方法
案例24 转换字母的大小写
案例25 用“0”填充字符串
案例26 对齐方式
案例27 查找子字符串
案例28 startswith与endswith方法
案例29 统计子字符串出现的次数
案例30 文本的标题样式
案例31 串联字符串
案例32 拆分字符串
案例33 替换字符串
案例34 去掉字符串首尾的空格
案例35 lstrip与rstrip方法
案例36 去除字符串首尾的特定字符
1.6 字符串编码
案例37 编码与解码
案例38 ord与chr函数
第2章 模块与包
2.1 模块
案例39 独立运行模块
案例40 导入模块
案例41 使用from…import语句导入模块
案例42 __all__变量的作用
案例43 以编程方式生成__all__变量
案例44 为模块编写帮助文档
案例45 特殊的模块名称——__main
案例46 __file__与__cached__属性
2.2 包
案例47 让普通目录变成包
案例48 __init__.py文件
案例49 合并子模块的成员列表
案例50 合并多个__init__.py文件中的__all__属性
案例51 __main__.py文件的用途
案例52 基于名称空间的包
案例53 __package__属性
案例54 自定义包或模块的搜索路径
案例55 从.zip文件中导入包
2.3 以编程方式导入模块
案例56 检查是否能够导入某个模块
案例57 使用import_module函数导入模块
案例58 重新载入模块
第3章 变量与名称空间
3.1 变量与赋值
案例59 声明变量
案例60 类型批注
案例61 声明语句也是变量赋值
案例62 as关键字与赋值
案例63 组合赋值法
案例64 组合赋值与表达式列表
3.2 名称空间
案例65 获取全局名称空间的字典
案例66 获取局部名称空间的字典
案例67 直接更新名称空间字典
案例68 使用global关键字声明变量
案例69 使用nonlocal关键字声明变量
第4章 代码流程控制
4.1 顺序执行
案例70 *简单的流程
案例71 声明阶段与调用阶段
4.2 分支语句
案例72 单路分支
案例73 双路分支
案例74 更复杂的分支语句
案例75 分支语句的嵌套使用
4.3 循环
案例76 输出从1到10各个整数的平方根
案例77 使用for循环
案例78 for循环与range函数
案例79 组成每个数位均不相同的三位数
案例80 求“水仙花数”
案例81 跳出循环
4.4 异常处理
案例82 引发异常
案例83 捕捉异常
案例84 异常处理中的“清理”代码
案例85 else子句的作用
案例86 省略except子句
案例87 自定义异常类
第5章 数学运算
5.1 运算符
5.1.1 算术运算符
案例88 四则计算器
案例89 指数运算符
案例90 分解整数位
案例91 连接字符串
案例92 当字符串遇上乘法运算符
案例93 运算优先级
5.1.2 比较运算符
案例94 自定义的相等比较
案例95 比较对象的大小
案例96 自定义的大小比较
5.1.3 位运算符
案例97 二进制位的逻辑运算
案例98 移动二进制位
5.1.4 逻辑运算符
案例99 查找同时包含a、e两个字母的单词
案例100 or运算符
案例101 自定义布尔运算
5.1.5 其他运算符
案例102 对象标识的比较运算
案例103 not运算符
案例104 检查类型成员的存在性
案例105 复合赋值运算符
案例106 模拟C语言的“三目”运算符
5.2 浮点数的扩展功能
案例107 Decimal类的简单使用
案例108 通过元组对象来初始化Decimal类
案例109 使用DecimalTuple来初始化Decimal对象
案例110 设置浮点数的精度
案例111 基于线程的浮点数环境
5.3 随机数
案例112 产生一个随机整数
案例113 从序列中随机取出一个元素
案例114 生成0~1的随机数
案例115 从原序列中选取随机样本组成新序列
案例116 打乱列表中的元素顺序
5.4 数学函数
案例117 取整函数
案例118 “四舍六入五留双”算法
案例119 求绝对值
案例120 *大值与*小值
案例121 排序函数——sorted
案例122 按照字符串的长度排序
案例123 依据员工的年龄排序
案例124 以自然常数为底的指数运算
案例125 求以10为底数的对数
案例126 获取浮点数的分数与整数部分
案例127 计算*大公约数
案例128 阶乘运算
5.5 三角函数
案例129 弧度制与角度制之间的转换
案例130 常用的三角函数
案例131 反三角函数
案例132 欧氏距离
案例133 闵氏距离公式
5.6 统计学函数
案例134 求和函数
案例135 算术平均数
案例136 求字符串样本的平均长度
案例137 调和平均数
案例138 中位数
案例139 从分组数据中求中位数
案例140 众数
案例141 方差
案例142 标准差
5.7 分式
案例143 如何案例化Fraction类
案例144 限制分母的大小
案例145 常见的分式运算
5.8 日期与时间
案例146 日期之间的比较
案例147 计算时间差
案例148 timedelta类的乘法运算
第6章 函数式编程
6.1 函数的定义与调用
案例149 定义函数
案例150 函数的调用方法
案例151 函数的定义顺序
案例152 如何更改函数的引用名称
6.2 向函数传递参数的方式
案例153 按位置传递参数与按关键字传递参数
案例154 只能按关键字传递的参数
案例155 只能按位置传递的参数
6.3 可变参数
案例156 可变的位置参数
案例157 可变的关键字参数
案例158 可变参数的混合使用
案例159 可变参数与非可变参数的混合使用
6.4 装饰器
案例160 将函数对象作为参数传递
案例161 嵌套的函数定义
案例162 实现简单的装饰器
案例163 限制调用函数的Python版本
案例164 实现只能使用三次的装饰器
6.5 lambda表达式
案例165 打印满足条件的数字
案例166 按数字的绝对值大小排序
第7章 属性系统
7.1 动态读写属性
案例167 简单的属性访问
案例168 删除属性
案例169 __dict__成员
案例170 区分类型属性与案例属性
7.2 与属性访问有关的函数
案例171 获取与设置属性
案例172 检查属性是否存在
案例173 delattr()函数
案例174 vars()函数
7.3 __slots__成员
案例175 禁止创建__dict__成员
案例176 派生类需要重新定义__slots__成员
案例177 让对象案例的属性变成只读属性
案例178 以编程方式生成__slots__成员
案例179 类变量与__slots__之间的冲突
7.4 自定义的属性访问
案例180属性协议
案例181禁止访问模块中的特定成员
7.5 描述符
案例182 描述符的协议方法
案例183 作用于类级别的描述符
案例184 防止描述符被替换
案例185 实现基于特定类型的描述符
案例186 如何让案例属性存储独立的值
案例187 使用property类来封装属性值
案例188 将property类作为装饰器使用
案例189 在模块中使用描述符
第8章 类与对象
8.1 类的定义与案例化
案例190 class关键字
案例191 类型的案例化
案例192 __new__方法与__init__方法
案例193 带参数的构造函数
案例194 实现__del__方法
8.2 方法成员
案例195 案例方法
案例196 类方法
案例197 静态方法
8.3 元类
案例198 使用type类创建新类型
案例199 元类的实现过程
案例200 向元类传递参数
案例201 元类与继承
案例202 __prepare__方法
8.4 继承与多态
案例203 类型派生
案例204 类型继承中的多态
案例205 覆盖基类的成员
案例206 访问基类的成员
案例207 使用super类来访问基类的成员
案例208 调用基类的类方法
案例209 super类的非绑定用法
案例210 方法解析顺序(MRO)
案例211 “鸭子”类型
案例212 issubclass()函数与派生类检查
案例213 自定义派生类的检查逻辑
案例214 初始化派生类型
案例215 抽象类
案例216 虚拟子类
案例217 获取类的直接子类
8.5 对象复制
案例218 id()函数
案例219 浅拷贝与深拷贝
8.6 特殊成员
案例220 __str__方法与__repr__方法
案例221 模拟函数调用
案例222 自定义对象案例223获取对象案例所占用的内存大小
8.7 上下文管理
案例224 with语句
案例225 让自定义的类型支持上下文管理
案例226 contextmanager装饰器
案例227 使用closing类来释放上下文资源
第9章 数据结构
9.1 列表
案例228 初始化列表对象
案例229 添加元素
案例230 删除元素
案例231 自定义排序
案例232 反转列表
案例233 统计某个元素的出现次数
案例234 将列表对象作为栈结构使用
案例235 合并列表
案例236 重复列表中的元素
9.2 元组
案例237 元组的初始化方法
案例238 带命名字段的元组
案例239 将带命名字段的元组转换为字典
9.3 字典
案例240 字典的案例化方法
案例241 字典与for循环
案例242 从其他数据来源更新字典
案例243 可以调整元素次序的字典
案例244 合并字典
案例245 计数器
9.4 集合
案例246 创建集合案例
案例247 合并集合
案例248 集合的包含关系
案例249 交集与差集
9.5 数组
案例250 案例化数组
案例251 修改数组中的元素
案例252 将数组内容存入文件
9.6 枚举
案例253 定义枚举类
案例254 只能使用int值的枚举
案例255 带标志位的枚举
案例256 禁止使用重复的成员值
9.7 迭代器
案例257 iter函数与next函数
案例258 yield语句与迭代生成器
案例259 自定义的迭代器
9.8 自定义序列
案例260 实现按索引访问的集合
案例261 统计集合的长度
案例262 字典对象的访问协议
9.9 其他
案例263 切片
案例264 in与not in运算符
第10章 异步编程
10.1 多线程
案例265 创建并启动新线程
案例266 使用线程锁
案例267 等待事件信号
案例268 屏障
10.2 异步等待
案例269 定义异步函数
案例270 执行异步函数
案例271 案例化Task对象
第11章 网络编程
11.1 Socket编程
案例272 TCP通信协议
案例273 UDP通信协议
案例274 TCPServer与UDPServer
11.2 HTTP与CGI编程
案例275 使用HTTP协议下载文件
案例276 简单的HTTP服务器
案例277 编写CGI脚本
案例278 设置CGI脚本的查找
第12章 文件与I/O
12.1 目录操作
案例279 创建与删除案例
创建与删除嵌套
12.2 文件与I/O操作
案例281 读写文本文件
案例282 读写二进制文件
案例283 内存流
12.3 数据文件
案例284 读写CSV文件
案例285 读写JSON文件
案例286 生成zip文件
第13章 应用程序界面开发——Tk
13.1 Tk应用程序的初始化
案例287 使用Tk类
案例288 Frame容器
13.2 布局
案例289 填充与停靠
案例290 网格布局
案例291 通过坐标来布局控件
13.3 常用控件
案例292 前景颜色与背景颜色
案例293 设置控件字体
案例294 可重复执行命令的按钮
案例295 让按钮控件的command参数调用多个函数
案例296 密码输入框
案例297 单选按钮
案例298 复选按钮
案例299 列表控件
案例300 使用ttk控件库
展开全部
PYthon实战指南 作者简介
周家安 微软专家(MVP)、编程爱好者,乐于分享各种编程技巧。擅长Web服务开发、Windows 系统开发、Python语言编程。著有《.NET Core实战——手把手教你掌握380个精彩案例》《C# 6.0学习笔记——从第一行C#代码到第一个项目设计》等原创畅销图书。