计算机
类型
可以朗读
语音朗读
178千字
字数
2020-05-01
发行日期
展开全部
主编推荐语
本书详细讲解300个Python案例,涵盖基本语法、字符串处理、数学计算、模块与包管理等多个方面。
内容简介
本书构思了300个独立案例,每个案例都至少涉及到一个Python语言相关的知识点。案例由“导语”和“操作流程”两个部分组成。“导语”部分主要对案例中需要用到的知识点进行简练的介绍,即为辅助性的理论阐述;“操作流程”部分将分步列出实现此案例的过程。本书案例涉及Python基本语法,字符串处理,常用数学计算,模块与包管理,类型与对象实例的生命周期管理,动态属性与自定义类型构造,常见数据结构的使用(元组、列表、数组、字典等),程序流程控制,异常处理,异步编程与网络编程,GUI(用户界面)编程等。
目录
- 封面页
- 书名页
- 版权页
- 内容简介
- 前言PREFACE
- 目录
- 第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 创建与删除目录
- 案例280 创建与删除嵌套目录
- 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控件库
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。