展开全部

主编推荐语

本书详细讲解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月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。