Python 3 Object Oriented Programming
图书信息
| 作者 | Dusty Phillips |
| 出版社 | Packt Publishing |
| ISBN | 9781849511278 |
| 出版时间 | 2010-07-26 |
| 字数 | 193.9万 |
| 分类 | 进口书,外文原版书,电脑,网络 |
读书简介
The book begins with the very foundations of OOP and then uses practical examples to show how to correctly implement Object Oriented Programming in Python. Many examples are taken from real-world projects. The book focuses on high-level design as well as the gritty details of the Python syntax. The provided exercises inspire the reader to think about his or her own code, rather than providing solved problems. If you're new to Object Oriented Programming techniques, or if you have basic Python skills and wish to learn in depth how and when to correctly apply Object Oriented Programming in Python, this is the book for you. If you are an object-oriented programmer for other languages, you too will find this book a useful introduction to Python, as it uses terminology you are already familiar with. Python 2 programmers seeking a leg up in the new world of Python 3 will also find the book beneficial, and you need not necessarily know Python 2.
目录
Python 3 Object Oriented Programming
Table of Contents
Python 3 Object Oriented Programming
Credits
About the Author
About the Reviewers
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Object-oriented Design
Object-oriented?
Objects and classes
Specifying attributes and behaviors
Data describes objects
Behaviors are actions
Hiding details and creating the public interface
Composition and inheritance
Inheritance
Inheritance provides abstraction
Multiple inheritance
Case study
Exercises
Summary
2. Objects in Python
Creating Python classes
Adding attributes
Making it do something
Initializing the object
Explaining yourself
Modules and packages
Organizing the modules
Absolute imports
Relative imports
Who can access my data?
Case study
Exercises
Summary
3. When Objects are Alike
Basic inheritance
Extending built-ins
Overriding and super
Multiple inheritance
The diamond problem
Different sets of arguments
Polymorphism
Case study
Exercises
Summary
4. Expecting the Unexpected
Raising exceptions
Raising an exception
What happens when an exception occurs?
Handling exceptions
Exception hierarchy
Defining our own exceptions
Exceptions aren't exceptional
Case study
Exercises
Summary
5. When to Use Object-oriented Programming
Treat objects as objects
Using properties to add behavior to class data
How it works
Decorators: another way to create properties
When should we use properties?
Managing objects
Removing duplicate code
In practice
Or we can use composition
Case study
Exercises
Summary
6. Python Data Structures
Empty objects
Tuples and named tuples
Named tuples
Dictionaries
When should we use dictionaries?
Using defaultdict
Lists
Sorting lists
Sets
Extending built-ins
Case study
Exercises
Summary
7. Python Object-oriented Shortcuts
Python built-in functions
Len
Reversed
Enumerate
Zip
Other functions
Comprehensions
List comprehensions
Set and dictionary comprehensions
Generator expressions
Generators
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
8. Python Design Patterns I
Design patterns
Decorator pattern
Decorator example
Decorators in Python
Observer pattern
Observer example
Strategy pattern
Strategy example
Strategy in Python
State pattern
State example
State versus strategy
Singleton pattern
Singleton implementation
Module variables can mimic singletons
Template pattern
Template example
Exercises
Summary
9. Python Design Patterns II
Adapter pattern
Facade pattern
Flyweight pattern
Command pattern
Abstract factory pattern
Composite pattern
Exercises
Summary
10. Files and Strings
Strings
String manipulation
String formatting
Escaping braces
Keyword arguments
Container lookups
Object lookups
Making it look right
Strings are Unicode
Converting bytes to text
Converting text to bytes
Mutable byte strings
File IO
Placing it in context
Faking files
Storing objects
Customizing pickles
Serializing web objects
Exercises
Summary
11. Testing Object-oriented Programs
Why test?
Test-driven development
Unit testing
Assertion methods
Additional assertion methods in Python 3.1
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
Test skipping with py.test
py.test extras
How much testing is enough?
Case Study
Implementing it
Exercises
Summary
12. Common Python 3 Libraries
Database access
Introducing SQLAlchemy
Adding and querying objects
SQL Expression Language
Pretty user interfaces
TkInter
PyQt
Choosing a GUI toolkit
XML
ElementTree
Constructing XML documents
lxml
CherryPy
A full web stack?
Jinja Templating
The CherryPy blog web application
Exercises
Summary
Index
- 医疗美容法律法规与风险管理(美容医学系列数字化创新教材)(曹伟,石悦)
- 电子产品装配与调试(杨秀平,吴雪峰)
- 工业大麻生物技术研究进展(张利国)
- 梅花易数((宋)邵雍撰)
- 九年级+中考-快捷英语周周练-完形填空(石骥)
- 盛世红妆(宓拉)
- 小学语文课外阅读世界文学经典名著:克雷洛夫寓言(克雷洛夫)
- 绘・童年:梦幻柏树街 (精装绘本)(著名儿童文学作家“阳光姐姐”伍美珍绘本处女作)(伍美珍)
