Python实战指南——手把手教你掌握300个精彩案例

副标题:无

作   者:周家安

分类号:

ISBN:9787302548515

微信扫一扫,移动浏览光盘

简介


本书以300个不同类型的案例引导初学者快速入门,全面掌握Python语言编程技巧。这些案例各具特色,容易上手,趣味性强,学习效率高。本书内容涵盖字符串处理、包与模块管理、变量名称空间、代码流程控制、数学运算、面向对象编程、常用数据结构、异步编程、网络编程、文件与I/O、Tk组件与应用程序界面开发。 本书配套提供所有案例的源代码,便于读者动手实践甚至进行二次开发。本书适合作为广大高校计算机专业或相关培训机构的Python课程教材,也可以作为Python技术开发者的自学参考用书。


目录


第1章 字符串处理

1.1字符串表达式

案例1单行文本

案例2处理字符串中出现的引号

案例3多行文本

1.2代码注释与帮助文档

案例4在代码中写注释

案例5设置代码文件的字符编码

案例6为代码对象撰写帮助文档

1.3input与print函数

案例7接收键盘输入

案例8打印屏幕消息

案例9打印进度条

案例10将文本打印到文件中

案例11打印文本时使用分隔符

案例12使用sys.stdout打印文本

1.4格式化字符串

案例13输出十六进制字符串

案例14设置字符串的对齐方式

案例15数字的千位分隔符

案例16“_”分隔符

案例17自定义日期格式

案例18使用format方法

案例19省略格式占位符的名称和序号

案例20字符串模板

案例21字符串模板的安全替换模式

案例22文本缩进

案例23嵌套使用格式化语法

1.5str类的常用方法

案例24转换字母的大小写

案例25用“0”填充字符串

案例26对齐方式

案例27查找子字符串

案例28startswith与endswith方法

案例29统计子字符串出现的次数

案例30文本的标题样式

案例31串联字符串

案例32拆分字符串

案例33替换字符串

案例34去掉字符串首尾的空格

案例35lstrip与rstrip方法

案例36去除字符串首尾的特定字符

1.6字符串编码

案例37编码与解码

案例38ord与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声明语句也是变量赋值

案例62as关键字与赋值

案例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循环

案例78for循环与range函数

案例79组成每个数位均不相同的三位数

案例80求“水仙花数”

案例81跳出循环

4.4异常处理

案例82引发异常

案例83捕捉异常

案例84异常处理中的“清理”代码

案例85else子句的作用

案例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两个字母的单词

案例100or运算符

案例101自定义布尔运算

5.1.5其他运算符

案例102对象标识的比较运算

案例103not运算符

案例104检查类型成员的存在性

案例105复合赋值运算符

案例106模拟C语言的“三目”运算符

5.2浮点数的扩展功能

案例107Decimal类的简单使用

案例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计算时间差

案例148timedelta类的乘法运算

第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.5lambda表达式

案例165打印满足条件的数字

案例166按数字的*值大小排序

第7章 属性系统

7.1动态读写属性

案例167简单的属性访问

案例168删除属性

案例169__dict__成员

案例170区分类型属性与案例属性

7.2与属性访问有关的函数

案例171获取与设置属性

案例172检查属性是否存在

案例173delattr()函数

案例174vars()函数

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类的定义与案例化

案例190class关键字

案例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调用基类的类方法

案例209super类的非绑定用法

案例210方法解析顺序(MRO)

案例211“鸭子”类型

案例212issubclass()函数与派生类检查

案例213自定义派生类的检查逻辑

案例214初始化派生类型

案例215抽象类

案例216虚拟子类

案例217获取类的直接子类

8.5对象复制

案例218id()函数

案例219浅拷贝与深拷贝

8.6特殊成员

案例220__str__方法与__repr__方法

案例221模拟函数调用

案例222自定义对象目录

案例223获取对象案例所占用的内存大小

8.7上下文管理

案例224with语句

案例225让自定义的类型支持上下文管理

案例226contextmanager装饰器

案例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迭代器

案例257iter函数与next函数

案例258yield语句与迭代生成器

案例259自定义的迭代器

9.8自定义序列

案例260实现按索引访问的集合

案例261统计集合的长度

案例262字典对象的访问协议

9.9其他

案例263切片

案例264in与not in运算符

第10章 异步编程

10.1多线程

案例265创建并启动新线程

案例266使用线程锁

案例267等待事件信号

案例268屏障

10.2异步等待

案例269定义异步函数

案例270执行异步函数

案例271案例化Task对象

第11章 网络编程

11.1Socket编程

案例272TCP通信协议

案例273UDP通信协议

案例274TCPServer与UDPServer

11.2HTTP与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.1Tk应用程序的初始化

案例287使用Tk类

案例288Frame容器

13.2布局

案例289填充与停靠

案例290网格布局

案例291通过坐标来布局控件

13.3常用控件

案例292前景颜色与背景颜色

案例293设置控件字体

案例294可重复执行命令的按钮

案例295让按钮控件的command参数调用多个函数

案例296密码输入框

案例297单选按钮

案例298复选按钮

案例299列表控件

案例300使用ttk控件库


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Python实战指南——手把手教你掌握300个精彩案例
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon