Python3入门:从Dive Into Python3开始
需积分: 7 106 浏览量
更新于2024-07-18
收藏 2.62MB PDF 举报
"Python3入门教程《Dive Into Python 3》"
《Dive Into Python 3》是一本全面介绍Python 3编程的英文教材,专为已经具备一定Python基础的程序员设计。如果你已经阅读过原版的"Dive Into Python",或者对Python有基本的理解,那么这本书将引导你深入Python 3的世界。对于初学者来说,建议从基础开始学习。
Python 3引入了一个名为`2to3`的脚本工具,这个工具可以帮助你将Python 2的代码自动转换为Python 3兼容的代码。学习和掌握`2to3`对于理解Python 3中的语法变化至关重要,因为许多改变都是语法层面的。例如,`print`语句在Python 3中被改为了函数,而单引号`'x'`的用法也有所调整。
在实际的代码移植过程中,作者通过案例研究——Porting chardet to Python 3,详述了将一个非简单的库从Python 2迁移到Python 3的全过程。这个过程可能会对你自己的迁移工作提供参考,但也可能因为学习曲线较陡峭而带来挑战。特别是涉及到字符串处理的部分,Python 2中有"字符串"和"Unicode字符串"之分,而在Python 3中,所有的字符串都是Unicode编码,这导致了在移植过程中大量与字符串相关的问题。
Python 3中的字符串改动是核心关注点之一。在Python 2中,字符串(str)通常用于存储8位字节序列,而Unicode字符串(unicode)用于存储文本。但在Python 3中,所有字符串都默认为Unicode类型,用`str`表示,这使得处理多语言文本变得更加方便。同时,Python 3还引入了`bytes`类型来表示字节序列,从而更好地区分数据的二进制和文本形式。
字符串处理的变化包括但不限于:
1. `print`函数:在Python 3中,`print`不再是一个语句,而是作为一个函数使用,如`print("Hello, World!")`。
2. 字符串格式化:`%`操作符被`format`函数取代,如`"{name}, {age}".format(name="Alice", age=25)`。
3. 三引号字符串:Python 3继续支持多行字符串,可以用来创建文档字符串(docstring)或大段的文本。
4. Unicode编码:Python 3的字符串默认支持Unicode,可以更方便地处理非ASCII字符。
此外,书中还涵盖了其他重要的Python 3特性,如:
- 异常处理:Python 3中,`except Exception, e`被改为`except Exception as e`。
- range对象:在Python 3中,`range()`返回一个不可变的range对象,而不是列表。
- 函数参数:Python 3引入了非位置参数(*args, **kwargs)和关键字唯一参数。
- yield from:新增的`yield from`语句用于将一个生成器的输出合并到另一个生成器中。
- 元类:Python 3中的元类更加灵活,可以用于修改类的行为。
《Dive Into Python 3》是Python 3学习者的重要参考资料,它不仅详细介绍了Python 3的新特性和语法变化,还提供了实践案例,帮助读者加深理解并掌握Python 3编程。
点击了解资源详情
点击了解资源详情
点击了解资源详情
154 浏览量
2021-06-29 上传
2022-09-21 上传
2024-07-02 上传
2017-06-14 上传
weixin_44328481
- 粉丝: 0
- 资源: 1
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新