Python3面向对象编程(第2版 影印版 英文版) [Python 3 object-oriented Programming Second Edition]

Python3面向对象编程(第2版 影印版 英文版) [Python 3 object-oriented Programming Second Edition] pdf epub mobi txt 电子书 下载 2025

Dusty,Phillips 著
图书标签:
  • Python 3
  • 面向对象编程
  • Python
  • Object-Oriented Programming
  • Second Edition
  • 英文
  • 编程
  • 计算机科学
  • 软件开发
  • 技术
  • 书籍
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 东南大学出版社
ISBN:9787564170745
版次:2
商品编码:12196728
包装:平装
外文名称:Python 3 object-oriented Programming Second Edition
开本:16开
出版时间:2017-04-01
用纸:胶版纸
页数:431
字数:558000
正文语种:中

具体描述

内容简介

  《Python3面向对象编程(第2版 影印版 英文版)》讲解了类、数据封装、继承、多态、抽象和异常,着重强调了在一款设计良好的软件开发过程中使用每个原则的时机。除了学习如何利用高层次的设计模式来创建可维护的应用程序,你还可以了解到字符串和文件处理的复杂性以及Python区分二进制数据和文本数据的方法。另外,单元测试的乐趣以及并发编程的难题也是少不了的。
  书中更新了大量的内容,以反映出近来核心Python库的变化,这些新的特性在《Python3面向对象编程(第2版 影印版 英文版)》备受赞誉的第1版面世时还无法使用。除此之外,全书的结构也进行了重新调整和组织,提升了知识量,增强了阅读体验。
  目标读者如果你是初次接触面向对象编程技术,或是只具备基本的Python技能,希望能够深入学习如何正确地使用Python面向对象编程技术来设计软件,那么《Python3面向对象编程(第2版 影印版 英文版)》就是为你准备的。
  你将从《Python3面向对象编程(第2版 影印版 英文版)》中学到什么通过创建类和定义方法来实现Python对象。
  将相关的对象划分成不同的类,通过类接口来描述这些对象的属性和行为。
  使用继承来扩展类的功能。
  明白什么时候使用面向对象特性,什么时候不使用(后者更重要)。
  了解什么是设计模式,为什么在Python中有这些不同的设计模式。
  揭示单元测试的简洁性及其在Python中的重要性。
  理解Python3中常见的并发编程技术和陷阱。
  探究用于开发大规模并发网络系统的新模块Async10。

作者简介

  Dusty Phillips,is a Canadian software developer and author currently living in Seattle, Washington. He has been active in the open source community for a decade and a half and programming in Python for nearly all of it. He cofounded the popular Puget Sound Programming Python meetup group; drop by and say hi if you're in the area.

目录

Preface
Chapter 1: Object-oriented Desiqn
Introducing object-oriented
Objects and classes
Specifying attributes and behaviors
Data describes objects
Behaviors are actions
Hiding details and creating the public interface
Composition
Inheritance
Inheritance provides abstraction
Multiple inheritance
Case study
Exercises
Summary

Chapter 2: Objects in Python
Creating Python classes
Adding attributes
Making it do something
Talking to yourself
More arguments
Initializing the object
Explaining yourself
Modules and packages
Organizing the modules
Absolute imports
Relative imports
Organizing module contents
Who can access my data?
Third-party libraries
Case study
Exercises
Summary

Chapter 3: When Objects Are Alike
Basic inheritance
Extending built-ins
Overriding and super
Multiple inheritance
The diamond problem
Different sets of arguments
Polymorphism
Abstract base classes
Using an abstract base class
Creating an abstract base class
Demystifying the magic
Case study
Exercises
Summary

Chapter 4: Expecting the Unexpected
Raising exceptions
Raising an exception
The effects of an exception
Handling exceptions
The exception hierarchy
Defining our own exceptions
Case study
Exercises
Summary

Chapter 5: When to Use Object-oriented Programming
Treat objects as objects
Adding behavior to class data with properties
Properties in detail
Decorators - another way to create properties
Deciding when to use properties
Manager objects
Removing duplicate code
In practice
Case study
Exercises
Summary

Chapter 6: Python Data Structures
Empty objects
Tuples and named tuples
Named tuples
Dictionaries
Dictionary use cases
Using defaultdict
Counter
Lists
Sorting lists
Sets
Extending built-ins
Queues
FIFO queues
LIFO queues
Priority queues
Case study
Exercises
Summary

Chapter 7: Python Object-oriented Shortcuts
Python built-in functions
The len() function
Reversed
Enumerate
File I/O
Placing it in context
An alternative to method overloading
Default arguments
Variable argument lists
Unpacking arguments
Functions are objects too
Using functions as attributes
Callable objects
Case study
Exercises
Summary

Chapter 8: Strings and Serialization
Strings
String manipulation
String formatting
Escaping braces
Keyword arguments
Container Iookups
Object Iookups
Making it look right
Strings are Unicode
Converting bytes to text
Converting text to bytes
Mutable byte strings
Regular expressions
Matching patterns
Matching a selection of characters
Escaping characters
Matching multiple characters
Grouping patterns together
Getting information from regular expressions
Making repeated regular expressions efficient
Serializing objects
Customizing pickles
Serializing web objects
Case study
Exercises
Summary

Chapter 9: The Iterator Pattern
Design patterns in brief
Iterators
The iterator protocol
Comprehensions
List comprehensions
Set and dictionary comprehensions
Generator expressions
Generators
Yield items from another iterable
Coroutines
Back to log parsing
Closing coroutines and throwing exceptions
The relationship between coroutines, generators, and functions
Case study
Exercises
Summary

Chapter 10: Python Design Patterns I
The decorator pattern
A decorator example
Decorators in Python
The observer pattern
An observer example
The strategy pattern
A strategy example
Strategy in Python
The state pattern
A state example
State versus strategy
State transition as coroutines
The singleton pattern
Singleton implementation
The template pattern
A template example
Exercises
Summary

Chapter 11: Python Design Patterns II
The adapter pattern
The facade pattern
The flyweight pattern
The command pattern
The abstract factory pattern
The composite pattern
Exercises
Summary

Chapter 12: Testing Object-oriented Programs
Why test?
Test-driven development
Unit testing
Assertion methods
Reducing boilerplate and cleaning up
Organizing and running tests
Ignoring broken tests
Testing with py.test
One way to do setup and cleanup
A completely different way to set up variables
Skipping tests with py.test
Imitating expensive objects
How much testing is enough?
Case study
Implementing it
Exercises
Summary

Chapter 13: Concurrency
Threads
The many problems with threads
Shared memory
The global interpreter lock
Thread overhead
Multiprocessing
Multiprocessing pools
Queues
The problems with multiprocessing
Futures
AsynclO
AsynclO in action
Reading an AsynclO future
AsynclO for networking
Using executors to wrap blocking code
Streams
Executors
Case study
Exercises
Summary
Index
Python 3 面向对象编程:掌握现代软件开发的基石 在快速发展的软件开发领域,掌握强大的编程范式是提升开发效率和构建可维护、可扩展应用程序的关键。Python 3,凭借其简洁的语法和丰富的库生态,已成为无数开发者首选的语言。而面向对象编程(OOP),作为一种将现实世界概念映射到软件设计的强大方法论,在Python 3中更是得到了充分的体现和强大的支持。 本书,《Python 3 面向对象编程(第2版)》,并非一本简单的语言语法手册,而是一次深入探索Python 3面向对象精髓的旅程。它将带领读者从零开始,逐步构建起坚实的面向对象编程思维,理解其核心概念,并学会如何在实际项目中灵活运用。本书的目标是赋予读者构建复杂、高效且易于管理的Python应用程序的能力,使其在应对日益增长的软件开发挑战时游刃有余。 为何选择面向对象编程? 在深入探讨Python 3的OOP特性之前,理解面向对象编程的根本优势至关重要。想象一下,在没有OOP的时代,我们如何组织和管理一个大型项目?可能需要大量的全局变量、函数调用和复杂的控制流程,这不仅难以阅读和理解,更会带来巨大的维护负担。一旦某个部分发生变化,可能需要牵一发而动全身,极易引入新的错误。 面向对象编程提供了一种截然不同的解决之道。它将数据和操作数据的方法封装在一起,形成一个个独立的“对象”。这些对象可以被视为具有特定属性(数据)和行为(方法)的实体。这种封装性带来了诸多好处: 模块化与重用性: 通过定义类(对象的蓝图),我们可以创建多个相似的对象。这些类可以被独立开发、测试和重用,极大地提高了开发效率。 可维护性: 代码被组织成独立的、可管理的对象,修改一个对象的内部实现不会影响到其他对象,除非其接口发生变化。这使得软件的维护和升级变得更加容易。 可扩展性: 面向对象编程支持继承和多态等特性,允许我们基于现有代码创建新的功能,而无需修改原始代码。这为软件的持续演进提供了强大的支持。 抽象性: OOP允许我们关注问题的本质,屏蔽不必要的细节。通过定义抽象的接口和类,我们可以更专注于业务逻辑的实现。 代码组织: OOP提供了一种清晰、有条理的方式来组织代码,使其更易于理解、阅读和协作。 本书的学习路径与核心内容 本书将以一种循序渐进的方式,引导读者深入理解Python 3中的面向对象编程。我们将从最基础的概念讲起,逐步深入到更高级的主题,确保每一位读者都能扎实掌握。 第一部分:面向对象编程的基础 理解类与对象: 我们将详细介绍什么是类(Class)以及什么是对象(Object),类是对象的模板,对象是类的实例。通过生动的例子,我们将阐述如何定义类,包括属性(Attributes)和方法(Methods)。 实例属性与类属性: 区分实例属性(每个对象独有的属性)和类属性(所有对象共享的属性),理解它们在内存中的存储方式和使用场景。 构造函数 (`__init__`): 深入讲解Python中用于初始化对象的特殊方法`__init__`,以及如何使用它来为新创建的对象设置初始状态。 对象的方法: 学习如何定义和调用对象的方法,这些方法封装了对象可以执行的操作。我们将探讨`self`参数的含义和作用,它是面向对象编程中不可或缺的一部分。 第二部分:面向对象编程的核心概念 封装(Encapsulation): 探讨如何通过访问控制(公有、私有)来隐藏对象的内部实现细节,只暴露必要的接口。我们将学习Python中实现私有属性和方法的约定(以下划线开头)。 继承(Inheritance): 这是OOP中最强大的特性之一。我们将详细介绍单继承和多继承的概念,如何通过继承来复用现有类的代码,并创建更专业的子类。学习如何调用父类的方法,以及方法重写(Method Overriding)的技巧。 多态(Polymorphism): 理解多态的含义——“多种形态”。我们将演示如何在不同的对象上调用相同的方法,但产生不同的行为。这使得代码更加灵活和可扩展。 抽象(Abstraction): 介绍如何通过抽象基类(Abstract Base Classes, ABCs)来定义接口,强制子类实现特定的方法。这将有助于构建更健壮和可预测的系统。 第三部分:Python 3 OOP的高级特性与实践 类方法与静态方法: 深入讲解类方法(`@classmethod`)和静态方法(`@staticmethod`)的区别和适用场景。类方法可以访问类本身,而静态方法则不依赖于类或实例。 特殊方法(Magic Methods / Dunder Methods): Python中提供了大量的特殊方法,如`__str__`、`__repr__`、`__len__`、`__add__`等,它们允许我们自定义对象的行为,使其能够以更符合Pythonic的方式与内置函数和运算符交互。我们将一一解析这些方法的用法。 属性访问控制与装饰器: 学习如何使用 `@property` 装饰器来更精细地控制属性的访问、设置和删除,实现 Getter、Setter 和 Deleter 方法。 组合(Composition)与聚合(Aggregation): 除了继承,组合和聚合也是构建复杂对象关系的重要方式。我们将深入理解这两种“has-a”关系,并学会如何在实际项目中选择合适的设计模式。 异常处理(Exception Handling)与面向对象: 学习如何将异常处理与面向对象编程结合起来,创建自定义异常类,使错误处理更加清晰和模块化。 设计模式(Design Patterns): 介绍一些经典的设计模式,如工厂模式(Factory Pattern)、单例模式(Singleton Pattern)、观察者模式(Observer Pattern)等,并展示如何在Python 3中实现它们。设计模式是解决常见软件设计问题的经验总结,学会它们将极大地提升你的代码质量和解决问题的能力。 单元测试(Unit Testing)与OOP: 强调在面向对象编程中进行单元测试的重要性,学习如何使用Python的`unittest`模块来测试类和对象的功能。 本书的特色与优势 注重实践: 本书并非理论的堆砌,而是贯穿大量的代码示例和练习。读者将通过动手实践,加深对概念的理解,并学会如何在实际项目中应用所学知识。 Pythonic 风格: 我们将始终强调以Pythonic的方式来编写面向对象代码,遵循Python的编程习惯和最佳实践。 循序渐进: 内容组织合理,从基础到高级,难度逐步提升,适合不同水平的Python开发者。 前沿性: 专注于Python 3的新特性和最佳实践,确保读者掌握的是当前最有效的编程方法。 详尽的解释: 对于每一个概念,都将提供深入浅出的解释,并辅以图示和类比,帮助读者彻底理解。 谁适合阅读本书? Python 初学者: 想要从一开始就建立起良好的面向对象编程思维的Python初学者。 有其他语言OOP经验的开发者: 想要了解Python 3特有的OOP实现方式和Pythonic的面向对象编程风格的开发者。 需要提升代码质量的开发者: 想要学习如何构建更易于维护、扩展和重用代码的开发者。 希望深入理解Python 3语言特性的开发者: 对Python 3的内部机制和高级特性感兴趣的开发者。 结语 面向对象编程是现代软件开发不可或缺的一部分,掌握它将为你打开一扇通往更高效、更健壮软件开发的大门。《Python 3 面向对象编程(第2版)》正是你踏上这条道路的最佳伙伴。通过本书的学习,你将不再仅仅是编写代码的“码农”,而是能够设计、构建和维护复杂软件系统的“架构师”。准备好迎接挑战,深入Python 3面向对象的世界,释放你的编程潜能吧!

用户评价

评分

这本《Python 3面向对象编程(第2版 影印版 英文版)》真是让我眼前一亮,翻开它,我就被那种严谨又不失灵活的编程思想深深吸引了。虽然我是一名Python爱好者,但对于面向对象编程(OOP)的理解一直有些模糊,总觉得那些“类”、“对象”、“继承”、“多态”的概念像是空中楼阁,难以落地。这本书恰恰填补了我的这个知识空白。它没有上来就抛出一堆晦涩难懂的术语,而是循序渐进地从最基础的概念讲起,用大量的图示和生动形象的比喻来解释抽象的原理。我尤其喜欢书中关于“封装”的讲解,作者通过一个模拟现实世界场景的例子,将“数据”和“操作数据的方法”打包在一起,让我瞬间明白了封装的真正意义在于提高代码的可维护性和安全性。接着,关于“继承”,书中通过一个家族谱系的比喻,生动地展示了如何利用现有类的基础上创建新类,这让我体会到了代码复用的强大力量。更让我惊喜的是,本书并没有止步于理论,而是提供了大量的实践项目,涵盖了从简单的图形界面应用到复杂的数据结构设计,让我能够在动手实践中巩固所学,真正做到学以致用。每一章的结尾都有一些挑战性的练习题,虽然一开始会觉得有些吃力,但当我最终解决问题时,那种成就感是无与伦比的。这本书就像一位耐心细致的良师益友,带领我在Python的OOP世界里稳步前行。

评分

在我的编程生涯中,我接触过不少关于Python的书籍,但《Python 3面向对象编程(第2版 影印版 英文版)》给我留下了深刻的印象。这本书的结构设计非常合理,从基础概念的引入,到高级特性的深入探讨,都显得游刃有余。我特别欣赏的是,作者在讲解每一个OOP概念时,都会将其置于实际的编程场景中,而不是孤立地解释。比如,在介绍“组合”时,书中展示了如何通过将一个对象的实例作为另一个对象的属性来构建更复杂的系统,这种“has-a”关系的处理方式,比我之前理解的“继承”(is-a)更加灵活和强大,为解决现实世界中的复杂问题提供了新的思路。此外,书中对“设计模式”的引入,更是让我眼前一亮。它不仅仅是罗列了几种常见的设计模式,而是深入分析了每种模式背后的设计思想和应用场景,例如“单例模式”在全局配置管理中的应用,“观察者模式”在事件驱动编程中的运用,这些都极大地开阔了我的视野,让我开始从“如何编码”转变为“如何设计”,如何写出更健壮、更易于维护的代码。这本书真正做到了授人以渔,让我不仅学会了Python的OOP语法,更掌握了OOP的设计精髓。

评分

我一直对Python的灵活性和简洁性赞不绝口,而《Python 3面向对象编程(第2版 影印版 英文版)》则让我看到了Python在面向对象编程方面所展现出的独特魅力。这本书没有使用晦涩的语言,而是以一种非常平实的口吻,娓娓道来。从创建第一个简单的类开始,它就引导读者一步步构建更加复杂的OOP结构。我印象最深刻的是书中关于“特殊方法”(Special Methods,也称为魔术方法)的讲解,比如`__init__`、`__str__`、`__len__`等等。作者通过丰富的例子,展示了如何利用这些特殊方法来定制类的行为,让Python对象能够像内置类型一样进行操作,例如直接使用`len()`函数获取对象的长度,或者使用`print()`函数方便地输出对象的信息。这种“Pythonic”的编程方式,让我觉得Python的OOP不仅仅是模仿其他语言的模式,而是拥有自己独特的哲学。此外,书中还探讨了“生成器”(Generators)和“迭代器”(Iterators)在OOP中的应用,这对于处理大量数据或者需要惰性计算的场景非常有用,让我对Python的内存管理和性能优化有了更深的理解。总而言之,这本书就像一位经验丰富的向导,带领我深入探索Python OOP的每一个角落,让我对其有了更加全面和深刻的认识。

评分

我原本以为学习面向对象编程会是一件枯燥乏味的事情,毕竟那些抽象的概念总是让人望而却步。《Python 3面向对象编程(第2版 影印版 英文版)》彻底改变了我的看法。这本书以一种非常有趣且引人入胜的方式,将复杂的OOP概念变得易于理解。它将编程比作“构建乐高积木”,每个类都是一块积木,你可以通过组合不同的积木来创造出更复杂的结构。这种生动的类比让我立刻对OOP产生了亲近感。书中对于“类”和“对象”的解释,就像在教我们如何定义一个“蓝图”,然后根据这个蓝图制造出具体的“产品”。我尤其喜欢书中关于“属性”和“方法”的讲解,它就像在描述一个产品的“特征”和“功能”。通过大量的图文并茂的示例,我得以亲眼见证如何在一个类中定义属性来存储数据,如何定义方法来执行操作。而且,本书并非止步于理论,它提供了许多有趣的实战案例,比如创建一个简单的“宠物”模拟程序,让每个宠物都有自己的名字、年龄和叫声,这让我觉得编程不再是冷冰冰的代码,而是充满生命力的创造过程。这本书让我体会到了OOP的乐趣,也激发了我进一步探索Python OOP世界的浓厚兴趣。

评分

作为一名在软件开发领域摸爬滚打了多年的开发者,我对编程语言的深度和广度有着自己的理解。这次接触到《Python 3面向对象编程(第2版 影印版 英文版)》,我首先关注的是它是否能够提供更深层次的洞察,而不仅仅是表面上的语法介绍。事实证明,我的担忧是多余的。这本书在对Python OOP核心概念的阐释上,有着令人耳目一新的深度。例如,在讨论“多态”时,作者并没有停留在简单的函数重写,而是深入剖析了其在设计模式中的应用,例如“策略模式”和“工厂模式”,展示了多态如何能够极大地提升代码的灵活性和可扩展性,使程序能够在运行时动态地选择不同的行为。此外,书中对“抽象基类”(Abstract Base Classes)的讲解也尤为精彩,它不仅介绍了如何定义和使用ABC,还探讨了其在构建大型、健壮系统时的重要性,如何强制实现接口,保证了不同组件之间的兼容性。我特别欣赏的是,作者在讲解过程中,始终强调“Pythonic”的风格,以及如何利用Python的特性(如装饰器、元类)来更好地实现OOP设计。书中提供的代码示例,清晰、简洁且极具指导意义,充分展示了如何写出既符合OOP原则又兼具Python特色的优雅代码。这本书对于想要精进Python OOP技能的开发者来说,绝对是不可多得的宝藏。

评分

Good ... Good ...Good ... Good ...Good ... Good ...Good ... Good ...

评分

娘子,啊哈!

评分

好书

评分

评分

还没来得及看内容,不过纸张很一般,很一般,很一般…

评分

好书

评分

Good ... Good ...Good ... Good ...Good ... Good ...Good ... Good ...

评分

学习中

评分

还没来得及看内容,不过纸张很一般,很一般,很一般…

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有