Python3入门:从Dive Into Python3开始

需积分: 7 1 下载量 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编程。