转:20本最好的免费Python电子书
-
原文链接:http://www.linuxlinks.com/article/20121228122317781/20oftheBestFreePythonBooks-Part1.html
20 of the Best Free Python Books
Individuals wanting to learn about the Python programming language have a wide variety of books to read. There are many hundreds of informative Python books that are in-print and available to download or buy at reasonable cost. Given that Python is an open-source programming language, some developers will want this extended to the documentation they read.
Python is a high-level, general-purpose, structured, powerful, open source programming language that is used for a wide variety of programming tasks. It features a fully dynamic type system and automatic memory management, similar to that of Scheme, Ruby, Perl, and Tcl, avoiding many of the complexities and overheads of compiled languages. The language was created by Guido van Rossum in 1991, and continues to grow in popularity.
Python is used as a scripting language for web applications, embedded in software products as a scripting language, used in artifical intelligence tasks, and for system administration tasks. It is a simple and powerful language, perfectly suited for beginners and professional programmers alike.
The focus of this article is to select some of the finest Python books which are available to download for free. The vast majority of the books featured here can also be freely distributed to others.
To cater for all tastes, we have chosen a wide range of books, encompassing general introductions to Python, books that help you develop games, introduce kids to the world of programming, and build Python programming skills. All of the texts here come with our strongest recommendation. So get reading (and downloading).
1. Think Python
Website www.greenteapress.com/thinkpython/thinkpython.html
Author Allen B. Downey
Format PDF, Postscript, LaTeX, HTML EPUB
Pages 234
Think Python is a concise and gentle introduction to software design using the Python programming language. Intended for would-be developers with no programming experience. This book starts with the most basic concepts and gradually adds new material at a pace that is comfortable to the reader.
This book providing a wealth of information on:
Variables, expressions and statements
Functions
Conditionals and recursion
Fruitful functions
Interation
Strings
Lists
Dictionaries
Tuples - ordered list of elements
Files
Classes and objects / Classes and functions / Classes and methods
Inheritance
Case studies on interface design, word play, data structure selection, and Tkinter
It is available under the Creative Commons Attribution-NonCommercial 3.0 Unported License.
2. Invent Your Own Computer Games with Python
Website inventwithpython.com
Author Albert Sweigart
Format PDF
Pages 436
Invent Your Own Computer Games with Python teaches you computer programming in the Python programming language. Each chapter gives you the complete source code for a new game and teaches the programming concepts from these examples.
The book is available under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 license. Invent with Python was written to be understandable by kids as young as 10 to 12 years old, although it is suitable for any age.
This second edition has revised and expanded content, including using the Pygame library to make games with graphics, animation, and sound.
The book focuses on three different areas:
Series of tutorials ranging from a simple "guess the number" game, to drawing game boards with ASCII art, reversi, and simple artifical intelligence simulation
Make the design for a Hangman game
Learn new methods and functions that come with Python
Simple mathematical concepts including cartesian coordinate systems, X-axis and Y-axis, the commutative property of addition, and absolute values and the abs () function
Use the Pygame library to make games with graphics, animation, mouse input, and sound
Make graphical user interface programs that have graphics and can accept input from the keyboard and mouse
3. Snake Wrangling for Kids
Website www.briggs.net.nz/snake-wrangling-for-kids.html
Author Jason R. Briggs
Format PDF
Pages 150
Snake Wrangling for Kids is a printable electronic book, for children 8 years and older, who would like to learn computer programming. It covers the very basics of programming, and uses the Python 3 programming language to teach the concepts.
There are 3 different versions of the free book (one for Mac, one for Linux and one for Windows). There have been around 50,000 downloads, as of 2012. It has been rewritten and updated, with new chapters (including developing graphical games), and new code examples
This version is licensed under the Creative Commons license.
Use fundamental data structures like lists, tuples, and maps
Organize and reuse your code with functions and modules
Use control structures like loops and conditional statements
Draw shapes and patterns with Python's turtle module
Create games, animations, and other graphical wonders with Tkinter
4. Learn Python the Hard Way, 2nd Edition
Website learnpythonthehardway.org
Author Zed Shaw
Format HTML
Pages 183
This simple book is meant to give you a first start in programming.
The title says it is the hard way to learn to write code but it is actually not. It is the hard way only in that it is the way people used to teach things. In this book you will do something incredibly simple that all programmers actually do to learn a language.
This is a very beginner book for people who want to learn to code. If you can already code then look elsewhere. It is targeted for newbies to build up their skills before starting a more detailed book. The 2nd Edition features 5 new exercises, fixes and updates to nearly every exercise, and three of the new exercises teach you to create a simple web application as the final part of the book.
The book consists of:
52 Exercises which consist of typing code samples. This helps budding Python programmers to learn the names of the symbols, become familiar with typing them, and reading the language
Exercises cover topics such as: Variables, printing, functions, boolean algebra, branches and functions, automated testing, and starting your own game
5. Natural Language Processing with Python
Website nltk.org/book/
Author Steven Bird, Ewan Klein, and Edward Loper
Format PDF, Ebook, HTML
Pages 504
Natural Language Processing with Python - Analyzing Text with the Natural Language Toolkit offers a highly accessible introduction to natural language processing, the field that supports a variety of language technologies, from predictive text and email filtering to automatic summarization and translation. Learn how to write Python programs that work with large collections of unstructured text. Access richly annotated datasets using a comprehensive range of linguistic data structures, and understand the main algorithms for analyzing the content and structure of written communication.
This book is made available under the terms of the Creative Commons Attribution Noncommercial No-Derivative-Works 3.0 US License.
This book helps to:
Extract information from unstructured text, either to guess the topic or identify "named entities"
Analyze linguistic structure in text, including parsing and semantic analysis
Access popular linguistic databases, including WordNet and treebanks
Integrate techniques drawn from fields as diverse as linguistics and artificial intelligence
6. Building Skills in Python
Website www.itmaybeahack.com/homepage/books/python.html
Author Steven F. Lott
Format PDF, HTML
Pages 574
This 47 chapter book will help you build Python programming skills through a series of exercises. It includes six projects from straightforward to sophisticated that will help solidify your Python skills.
This book is a close-to-complete presentation of the Python language, updated to cover Python 2.6 and some elements of Python 3.1. It is oriented toward learning, which involves accumulating many closely intertwined concepts. This book is primarily targeted at professional programmers.
The book explores a wide range of topics including:
Numeric Expressions and Output
Advanced Expressions
Variables, Assignment and Input
Truth, Comparison and Conditional Processing
Loops and Iterative Procssing
Functions
This book is made available under a Creative Commons Attribution-Noncommercial-No Derivative Works License.
7. Dive into Python
Website www.diveintopython.net
Author Mark Pilgrim
Format PDF, HTML, Word 97, Plain Text, HTML (single file), XML, Build scripts
Pages 327
Dive Into Python is a hands-on guide to the Python language. Each chapter starts with a real, complete code sample, proceeds to pick it apart and explain the pieces, and then puts it all back together in a summary at the end.
Explores:
Native Datatypes
The Power of Introspection
Objects and Object-Orientation
Exceptions and File Handling
Regular Expressions
HTML Processing
XML Processing
Scripts and Streams
HTTP Web Services
SOAP Web Services
Unit Testing
Refactoring
Functional Programming
Dynamic Functions
Performance Tuning
This book is licensed under the terms of the GNU Free Documentation License, Version 1.1 or any later version.
8. Text Processing in Python
Website gnosis.cx/TPiP/
Author David Mertz
Format Smart ASCII format
Pages 544
Text Processing in Python describes techniques for manipulation of text using the Python programming language. At the broadest level, text processing is simply taking textual information and doing something with it. This might be restructuring or reformatting it, extracting smaller bits of information from it, or performing calculations that depend on the text.
Text processing is arguably what most programmers spend most of their time doing. Because Python is clear, expressive, and object-oriented it is a perfect language for doing text processing, even better than Perl. As the amount of data everywhere continues to increase, this is more and more of a challenge for programmers.
This book is not a tutorial on Python. The author provides practical pointers and tips that emphasize efficent, flexible, and maintainable approaches to the text processing tasks that working programmers face daily.
Text Processing in Python begins with an introduction to text processing and contains a quick Python tutorial to get you up to speed. It then delves into essential text processing subject areas, including string operations, regular expressions, parsers and state machines, and Internet tools and techniques. Appendixes cover such important topics as data compression and Unicode.
This book is copyright to Addison Wesley but can be downloaded without charge.
9. The Standard Python Library
Website effbot.org/zone/librarybook-index.htm
Author Fredrik Lundh
Format PDF, Single chapter PDFs, HTML
Pages 300
The Standard Python Library is a guide for serious Python programmers. It offers accurate, author-tested documentation of all the modules in the Python 2.0 Library, together with over 300 annotated example scripts using the modules.
The book has chapters on:
Standard and Core Modules
Threads and Processes
Data Representation
File Formats
Mail and News Messages
Network Protocols
Internationalization
Multimedia Modules
Data Storage
Tools and Utilities
Platform Specific Modules
Implementation Support Modules
Other Modules
This is an electronic edition which is based on the second edition published by O'Reilly in 2001.
10. The Definitive Guide to Pylons
Website pylonsbook.com/en/1.1/
Author James Gardner
Format PDF, HTML
Pages 568
Pylons is a lightweight web framework built on standard Python tools that provides a robust environment for writing modern web applications. It is well known for its clean architecture and loosely coupled approach, both of which make web development fast, flexible, and easy.
The Definitive Guide to Pylons teaches you everything you need to know about web development with Pylons - from how to create your first "Hello World!" application to how to use each of Pylons’ core tools including FormEncode, Mako, SQLAlchemy, and Routes to how to perform more advanced tasks such as testing, using Unicode, internationalizing your application, authenticating users, and more.
It also helps developers make use of the software's built-in support for session management, web services, and Ajax.
This book is made available under the terms of the GNU Free Documentation License, Version 1.2 or any later version.
-
- Making Games with Python & Pygame
Website inventwithpython.com/pygame/index.html
Author Al Sweigart
Format PDF, HTML, Mobi
Pages 365
This book teaches you how to make graphical computer games in the Python programming language using the Pygame library. It is targeted at the intermediate programmer.
The book features the source code to 11 games. Each chapter focuses on a single game program, explaining how different parts of the code work. The games are clones of classics such as Nibbles, Tetris, Simon, Bejeweled, Othello, Ink Spill, Connect Four, Flood It, and others. The programs are less than 600 lines long.
The book and the programs are open source, and are available under a Creative Commons Attribution-Noncommercial-Share Alike license.
12. Python Module of the Week
Website www.doughellmann.com/PyMOTW/index.html
Author Doug Hellmann
Format PDF, HTML
Pages 953
Python Module of the Week (PyMOTW) is a series of blog posts written by Doug Hellmann. It was started as a way to build the habit of writing something on a regular basis. The focus of the series is building a set of example code for the modules in the Python standard library.
PyMOTW is a good source of documentation for Python modules.
PyMOTW includes a command line program, motw, to make it easier to access the examples while you are developing.
This work is made available under the terms of the Creative Commons Attribution-NonCommercial Share-alike 3.0 license.
13. A Byte of Python
Website www.swaroopch.com/notes/python/
Author Swaroop C H
Format PDF, HTML, Full source
Pages 120
A Byte of Python is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience.
This book is written for the latest Python 3.
This book is released under the Creative Commons Attribution-NonCommercial-ShareAlike License 3.0
Topics covered include:
Basics of Python
Operators and Expressions
Control Flow
Functions
Modules
Data Structures
Problem Solving
Object Oriented Programming
Input Output
Exceptions
Standard Library
14. Think Complexity
Website greenteapress.com/complexity/html/jndex.html
Author Allen B. Downey
Format PDF, HTML
Pages 148
This book is about data structures and algorithms, intermediate programming in Python, computational modeling and the philosophy of science:
Topics covered include:
Graphs including random and connected graphs
Analysis of algorithms - the branch of computer science that considers the performance of algorithms
Small world graphs
Scale-free networks: Zipf's law, cumulative, continuous and Pareto distributions
Cellular automata
Game of Life
Fractals
Self-organized criticality
Case studies
15. Data Structures and Algorithms with Object-Oriented Design Patterns in Python
Website www.brpreiss.com/books/opus7/html/book.html
Author Bruno R. Preiss
Format PDF (not available in the public domain), HTML
Pages 557
This book is about the fundamentals of data structures and algorithms - the basic elements from which large and complex software artifacts are built. To develop a solid understanding of a data structure requires three things:
Learn how the information is arranged in the memory of the computer
Become familar with the algorithms for manipulating the information contained in the data structure
Understand the performance characteristics of the data structure so that when called upon to select a suitable data structure for a particular application
This book also illustrates object-oriented design and it promotes the use of common, object-oriented design patterns. The algorithms and data structures in the book are presented in the Python programming language. Virtually all the data structures are presented in the context of a single class hierarchy.
16. Programming Computer Vision with Python
Website programmingcomputervision.com
Author Jan Erik Solem
Format PDF
Pages 300
This book gives a hands-on introduction to the underlying theory and algorithms of computer vision (images, videos, etc). It seeks to explain computer vision in simple terms, without becoming too embroiled in theory. You will learn techniques for object recognition, 3D reconstruction, stereo imaging, augmented reality, and other computer vision applications as you follow clear examples written in Python. There are complete code samples with accompanying explanations.
The Python language compes with many powerful modules for handling images, mathematical computing and data mining.
The final draft of the book is released under a Creative Commons license.
Topics covered include:
Learn techniques used in robot navigation, medical image analysis, and other computer vision applications
Work with image mappings and transforms, such as texture warping and panorama creation
Compute 3D reconstructions from several images of the same scene
Organize images based on similarity or content, using clustering methods
Build efficient image retrieval techniques to search for images based on visual content
Use algorithms to classify image content and recognize objects
Access the popular OpenCV library through a Python interface
17. Python for you and me 0.2
Website kushal.fedorapeople.org/book/
Author Kushal Das
Format PDF, HTML
Pages 70
This book is designed for newcomers to the Python programming language. It is released under the GNU Free Documentation License v1.2 or later.
Topics covered include:
Variables and Datatypes
Operators and expressions
Control flow
Looping
Data structures
Strings
Functions
File handling
Class
Modules
Collections module
Virtual Python Environment builder
18. Problem Solving with Algorithms and Data Structures using Python
Website interactivepython.org/courselib/static/pythonds/index.html
Author Bradley W. Miller and David L. Ranum
Format HTML
Pages 432
This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum.
The objectives of this book are:
To review the ideas of computer science, programming, and problem-solving
To understand abstraction and the role it plays in the problem-solving process
To understand and implement the notion of an abstract data type
To review the Python programming language
Getting started with data
Built-in atomic data types
Built-in collection data types
Input and output
String formatting
Control structures
Exception handling
Defining functions
Object-oriented programming in Python
Discussion questions
Programming exercises
19. The Art and Craft of Programming Python Edition
Website beastie.cs.ua.edu/cs150/book/index.html
Author John C. Lusth
Format PDF, HTML
Pages 115
This book is designed to be used as the primary textbook in a college-level first course in computing. It takes a fairly traditional approach, emphasizing problem solving, design, and programming as the core skills of computer science. However, these ideas are illustrated using Python.
Although Python is used as the language, teaching Python is not the focus of this book. Rather, Python is used to illustrate fundamental principles of design and programming that apply in any language or computing environment. In some places, the author has deliberately avoided certain Python features and idioms that are not generally found in other languages. There are already many good books about Python on the market; this book is intended as an introduction to computing.
Topics covered include:
Literals, Combining Literals
Precedence and associativity
Variables
Assignment
Conditionals
Functions
Input and output
Scope
Loops
Lists
Recursion
Two-dimensional arrays
20. Python Programming
Website en.wikibooks.org/wiki/Python_Programming
Author Many contributors
Format PDF, HTML, eBook
Pages 159
This book describes Python, an open-source general-purpose interpreted programming language. It is licensed under Creative Commons Attribution-Share Alike 3.0 license.
Topics covered include:
Basic syntax, data types, numbers, strings, lists, dictionaries, sets, operators
Flow control, functions, scoping, exceptions, input and output
Modules, classes, metaclasses, regular expression
GUI programming covering Tkinter, PyGTK, PyQt, wxPython, Dabo, pyFltk, and other toolkits
Game programming in Python: 2D and 3D
Sockets, Files
Database programming
Web page harvesting
Threading
Extending with C and C++
WSGI web programming
补充后面10本
- Making Games with Python & Pygame
-
挑2本看就行了。