Differences between revisions 2 and 364 (spanning 362 versions)
Revision 2 as of 2002-07-23 15:09:29
Size: 4634
Editor: ute
Comment:
Revision 364 as of 2023-07-15 04:54:24
Size: 100133
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
The books on this page are all general introductions to the
Python language.
Most of these books will contain a few chapters on particular
applications such as GUI interfaces or Web programming, but won't go
into great detail on any one topic; refer to the PythonBooks page for lists of
application-specific books.
Experienced programmers who prefer a brief and condensed introduction
should look at the list of ReferenceBooks.

----
Learning Python,
Mark Lutz, David Ascher,
ISBN: 1565924649, O'Reilly & Associates,
300 pages (April 1998)


Learning Python is meant for true beginners, and others seeking a quick introduction to the language. It focuses on the core language, and includes numerous exercises with solutions, to guide the reader through a hands- on learning experience.

[http://rmi.net/~lutz/about-lp.html Home page]
[http://www.oreilly.com/catalog/lpython/chapter/ Sample chapters]
[http://www2.linuxjournal.com/lj-issues/issue66/3541.html Review by Phil Hughes in Linux Journal]
----
The Quick Python Book,
Daryl Harms, Kenneth McDonald,
ISBN: 1884777740,
Manning Publications,
275 pages (October 1999)
The books on this page are all general introductions to the Python language. Most of these books will contain a few chapters on particular applications such as GUI interfaces or Web programming, but won't go into great detail on any one topic; refer to the PythonBooks page for lists of application-specific books. Experienced programmers who prefer a brief and condensed introduction should look at the list of ReferenceBooks.

----

[[https://www.amazon.com/dp/B0C9SDNCP3|Essential Python for Machine Learning]]

Abhishek Singh

ISBN-13: 979-8852254672 572 Pages ((July 14, 2023)

'''Book Overview'''

"Essential Python for Machine Learning" is a comprehensive guide that equips readers with the fundamental Python programming skills necessary to kickstart their journey into the exciting world of machine learning. This book covers the essential topics and techniques required to understand and apply Python in the field of machine learning.

Starting with the basics of Python programming, readers learn about conditional statements, loops, data structures, and functions. The book then delves into important libraries like NumPy and Pandas, enabling readers to manipulate and analyze data efficiently. With a focus on practical application, readers explore topics such as file handling, regular expressions, and error handling, gaining essential skills for real-world machine learning projects.


Key Features:

1. Comprehensive coverage of Python programming fundamentals.
2. In-depth exploration of key libraries like NumPy and Pandas for data manipulation and analysis.
3. Practical application of Python concepts to real-world machine learning scenarios.
4. Clear explanations, illustrative examples, and practical exercises to enhance learning.
5. Suitable for beginners and those with some programming experience looking to enter the field of machine learning.

Whether you are a student, aspiring data scientist, or a Python enthusiast looking to venture into machine learning, "Essential Python for Machine Learning" provides the essential knowledge and skills needed to get started. Gain a strong foundation in Python programming and unlock the power of machine learning with this practical and accessible guide.

----

[[https://www.amazon.com/dp/B0BW32CWD5|Master Python Using Version 3.11: Learn Python Like Never Before]]

Abhishek Singh

ISBN-13: 979-8385523276 385 Pages (First edition, March 2023)


'''Book Overview:'''

One of the most popular programming languages used nowadays is called Python. It has just become more potent with the addition of a few additional features in its most recent iteration. Yet, not everyone is aware of its potency. The goal of this book is to introduce readers to Python programming from scratch. You are welcome to learn Python Programming like never before, whether you are a computer science undergraduate or not, a school-going programming geek or a beginner. You'll discover everything there is to know about Python, including how to use it for programming, when to employ the much-touted walrus operator and other brand-new features of version 3.11. Many solved programs that were used as interview questions at various firms are included in the book. Understanding the typical mistakes and how to fix them are covered in a separate chapter. The difficult topics have been simplified and expressed in simple terms. Beginners and intermediate readers should read the book.

----
[[https://pythonfromtheverybeginning.com/|Python from the Very Beginning]]

John Whitington

ISBN-13: 978-0-9576711-5-7 238 Pages (Second edition, May 2023)

Also available as a DRM-free PDF or EPUB.

'''Book Overview:'''

In ''Python from the Very Beginning'' John Whitington takes a no-prerequisites approach to teaching a modern general-purpose programming language. Each small, self-contained chapter introduces a new topic, building until the reader can write quite substantial programs. There are plenty of questions and, crucially, worked answers and hints.

''Python from the Very Beginning'' will appeal both to new programmers, and to experienced programmers eager to explore a new language. It is suitable both for formal use within an undergraduate or graduate curriculum, and for the interested amateur.

Second edition, fully updated in 2023.

[[https://www.amazon.com/Python-Very-Beginning-exercises-answers/dp/0957671156/|Amazon printed and Kindle]]
[[https://pythonfromtheverybeginning.com/|PDF and EPUB eBook]]


----
[[https://nostarch.com/art-clean-code|The Art of Clean Code: Best Practices to Eliminate Complexity and Simplify Your Life]]

Christian Mayer

'''Book Overview:'''

Most software developers waste thousands of hours working with overly complex code.

The eight core principles in ''The Art of Clean Code'' will teach you how to write clear, maintainable code without compromising functionality.

 1. Complexity Problem
 2. The 80/20 Principle
 3. Build a Minimal Viable Product
 4. Write Clean and Simple Code
 5. Premature Optimization is the Root of All Evil
 6. Flow
 7. Do One Thing Well (Unix)
 8. Less is More in Design

The book’s guiding principle is simplicity: reduce and simplify, then reinvest energy in the important parts to save you countless hours and ease the often onerous task of code maintenance.

Amazon: [[https://www.amazon.com/Art-Clean-Code-Practices-Complexity/dp/1718502184|The Art of Clean Code]]
----
[[https://nostarch.com/python-dash|Python Dash: Build Data Analysis and Visualization Apps with Plotly]]

Adam Schroeder, Christian Mayer, and Ann Marie Ward

'''Book Overview:'''

Create stunning interactive dashboard applications in Python with the Dash visualization and data analysis tool. Build interfaces that make sense of your data, and make it pretty.

A swift and practical introduction to building interactive data visualization apps in Python, known as dashboards. You’ve seen dashboards before; think election result visualizations you can update in real time, or population maps you can filter by demographic. With the Python Dash library you’ll create analytic dashboards that present data in effective, usable, elegant ways in just a few lines of code.
 
The book is fast-paced and caters to those entirely new to dashboards. It will talk you through the necessary software, then get straight into building the dashboards themselves. You’ll learn the basic format of a Dash app by building a Twitter analysis dashboard that maps the number of likes certain accounts gained over time. You’ll build up skills through three more sophisticated projects. The first is a global analysis app that compares country data in three areas: the percentage of a population using the internet, percentage of parliament seats held by women, and CO2 emissions. You’ll then build an investment portfolio dashboard, and an app that allows you to visualize and explore machine learning algorithms.
 
In this book you will:
 
 * Create and run your first Dash apps
 * Use the pandas library to manipulate and analyze social media data
 * Use Git to download and build on existing apps written by the pros
 * Visualize machine learning models in your apps
 * Create and manipulate statistical and scientific charts and maps using Plotly
 
Dash combines several technologies to get you building dashboards quickly and efficiently. This book will do the same.

Amazon: [[https://www.amazon.com/Python-Dash-Christian-Mayer-dp-1718502222/dp/1718502222|Python Dash: Build Data Analysis and Visualization Apps with Plotly]]
----
[[https://nostarch.com/learn-code-solving-problems|Learn to Code by Solving Problems: A Python Programming Primer]]

Daniel Zingaro

'''Book Overview:'''

Learn to code, right now. No coding experience required.

Don't try to memorize Python syntax with the hope of using it one day. Learn Python for good while you solve programming problems.

You get line by line walkthroughs, “check your understanding” questions, practice examples with answers, instant and accurate feedback using convenient online websites, discussion of common errors, and more.

This isn’t just a Python book. You’ll definitely learn Python here. But you’ll also learn how to think and solve problems like programmers do. And you’ll learn why slow code is slow and how to write better, faster code. You’re building skills that will not only turn you into a Python programmer but will also help you with whatever programming language you might use in the future.

----
[[https://smile.amazon.com/gp/product/B08G1XLDNB/|Leaving the Rat Race with Python: An Insider's Guide to Freelance Developing]]

''Amazon Smile Link ;)''

L. Rieger, C. Mayer

ASIN: B08G1XLDNB Finxter 233 Pages

'''Book Overview:'''

''Leaving the Rat Race'' with Python shows you how to nurture, grow, and harness your work-from-home coding business online --- and live the good life!

As an insider's guide to freelance developing, ''Leaving the Rat Race'' helps you nurture, grow, and harness your new online coding business plant---even if you've got little or no experience as a programmer and business owner.

By following the instructions in this book, you'll create new joy, happiness, and a sense of independence and self-reliance.
Because life's too short to work a company you don't believe in!

[[https://smile.amazon.com/gp/product/B08G1XLDNB/|Kindle Amazon]]
[[https://blog.finxter.com/book-leaving-the-rat-race-with-python/|eBook PDF]]
[[https://python-freelancer.com/|Book + Resources Python Freelancing]]

----
[[https://www.amazon.com/dp/1094777978]]

Abhishek Singh, Zohaib Hasan

ISBN-13: 978-1094777979 73 Pages (April 20, 2019)

'''Book Overview:'''

'''Awarded as one of the best books of regular expression in 2020 and 2021 by bookauthority.org.'''
Regular Expression is one topic which is nightmare for many seasoned programmers also. And what better choice than Python could have been? An easy to understand language to explain an uneasy to understand topic. This book is designed for absolute beginners with elementary knowledge of Python language. Regular Expressions are considered as a tough topic and usually they are not covered in syllabus in much detail. Mostly, a chapter is given on this topic in syllabus or curriculum books. But here, a complete book is dedicated. This book covers Regular Expression in detail with plenty of examples covering password validation, email ID validation, string manipulations etc. and their step by step analysis. The examples are presented in such a way that one can feel like coding only by reading the codes itself. The book is written in a way to give stress free environment.

[[https://regexusingpython.wordpress.com/|Learning Regular Expression Page]]

----

[[https://www.amazon.com/Python-3-8-Nat-Dunn/dp/1951959027|Actionable Python 3.8]]

Nat Dunn, Webucator

ISBN-13: 978-1951959029 536 Pages (March 15, 2020)

'''Book Overview:'''

Learning to program is hard. Don’t let anyone tell you different. If you bought or are considering buying this book because someone told you that you should learn Python, then maybe you should reconsider. The big question to ask yourself is ''“Do you want to learn Python?”'' Certainly, this book will help you answer that question, but be prepared to struggle, and to make mistakes, and to get frustrated, and to bang your head against the keyboard. This is Pandora’s box, baby, but…

If you get excited by solving hard problems… if you’re into Sudoku, or crosswords, or jigsaw puzzles, or if you’ll spend hours trying to figure out how to separate two metal looping thingamajigs that you found on someone’s shelf…, or you like tinkering with engines, or figuring out the best recipe for chocolate chip cookies… in other words, if you like a challenge, then you might love Python programming.It’s not easy, but it’s easy enough to get started. Pick up a book (good start!), and start going through it. Be patient with yourself. Pretend you’re the teacher as well as the student. When the student fails, the good teacher doesn’t insult or chastise. The good teacher encourages. The good teacher knows that failure is a part of learning, and that overcoming failure is exciting and leads to more learning. '''So, be a good teacher and treat yourself well.'''

'''But be a good student too.''' When reading this book, you should be sitting at your computer. When you first begin, plan to spend at least two uninterrupted hours. You should do your best to get through the first two lessons in the first sitting. That will get you through the foundational learning. From there on out, you’ll be hopping back and forth between the book and viewing, editing, and writing code. Go through the book slowly and methodically. Read every demo carefully. Work through every exercise. You cannot learn to code through reading alone. You must practice.

This book assume no prior knowledge of Python, but it introduces some pretty advanced topics, such as working with databases, scraping the web, and object-oriented Python.


[[https://www.learningiot.net/|Learning IoT Page]]

----
----

[[https://www.barnesandnoble.com/w/learning-iot-with-python-and-raspberry-pi-ei-horvath/1133345171?ean=9780578549361|Learning IoT with Python and Raspberry Pi]]

E.I. Horvath
E.A. Horvath

ISBN-13:9780578549361 760 Pages (September 1, 2019)

'''Book Overview:'''

The very nature of IoT requires a knowledge of a programming language and electronic circuits and a knowledge of networking in order to interface with the physical world and networking platforms. Learning IoT with Python and Raspberry Pi uses a cross-disciplinary approach when teaching IoT. Circuits which use light dependent resistors, LEDs, buzzers, passive infrared sensors, ultrasonic sensors, and other components will be used to explore and elucidate programming concepts. Users can monitor devices connected to the Raspberry Pi. Learning IoT with Python and Raspberry Pi allows the programmer to explore the Internet of Things (IoT) by writing code which will monitor temperature, pressure, humidity, and light levels and will determine when motion is detected, etc. Based upon these physical events, a text message is sent, an email is sent, a phone call is made, or a picture is taken.

 * 300+ code listings illustrate Python programming concepts.
 * Complete code listings in this textbook for all projects.
 * 250+ homework problems ranging from short Python scripts to web site configuration projects.
 * Labs on measuring voltage, current, and resistance using a multimeter.
 * Introduction to basic Linux commands.
 * Use the Sense HAT to read environmental data, such as temperature, pressure, and humidity.
 * Send a text message if the light level detected by an LDR circuit falls below a threshold.
 * Send an email if motion is detected using a PIR sensor circuit.
 * Use an ultrasonic sensor in a proximity alert circuit and make a phone call if an intruder gets too close.
 * Use a GPS HAT to get waypoints and store them in a file.
 * Use an analog to digital converter to read in data from sensors.
 * Control a servo using classes.
 * Take a picture with the Raspberry Pi Camera.
 * Install and configure an HTTP server with multiple virtual web sites.
 * Install and configure an FTP server.
 * Use SSH and VNC to remotely control the Raspberry Pi.
 * Create a virtual machine in the cloud.
 * Upload data to the cloud.
 * Learn how to write multi-threaded applications.
 * Play an audio file.
 * Control a robot using a multi-threaded application.


[[https://www.learningiot.net/|Learning IoT Page]]

----

[[https://thepythoncodingbook.com/|The Python Coding Book: Understanding what programming really is]]

Stephen Gruppetta

Freely available online book

'''Book Overview:'''

'''The key to mastering programming is to truly understand why we do things''' in the way we do them. Learning the methods is not enough. My focus in the years I’ve spent teaching coding has been to get my students to think in the way the computer does. Only then can we speak its language. We need to understand the various tools in a coding language as if they’re our best friends, not just mere acquaintances.
The focus of this book is '''real''' understanding. ‘Why’ is just as important a question as ‘How’.
And I like analogies—a lot. So your journey through learning how to code will take you through The White Room and coffee machines, and you’ll even climb a tree!
This book will start from the basics, and in its second part will start to move towards areas of programming relevant to fields such as science, finance, and other data-driven fields.
The Table of contents of the book is the following:
 * 0 | How To Learn To Code: Preface
 * 1 | Getting Started: Your First Project
 * 2 | Loops, Lists and More Fundamentals
 * 3 | Power-up Your Coding: Create Your Own Functions
 * 4 | Data, Data Types, and Data Structures
 * 5 | Dealing With Errors and Bugs
 * ~ | The White Room: Understanding Programming
 * 6 | Functions Revisited
 * 7 | Object-Oriented Programming
 * 8 | Numerical Python for Quantitative Applications Using numpy
 * 9 | Dealing with Dates and Times in Python
 * 10 | Basics of Data Visualisation Using matplotlib
 * 11 | Functional Programming and Lambda Functions
 * 12 | Analysing Data Using pandas

[[https://thepythoncodingbook.com/|The Python Coding Book: Understanding what programming really is]]

----

[[https://www.amazon.com/gp/product/B07ZY7XMX8|Python One-Liners]]

Christian Mayer

ASIN: B07ZY7XMX8 NoStarch 256 Pages (May 2020)

'''Book Overview:'''

Python programmers will improve their computer science skills with these useful one-liners

Python One-Liners will show readers how to perform useful tasks with one line of Python code. Following a brief Python refresher, the book covers essential advanced topics like slicing, list comprehension, broadcasting, lambda functions, algorithms, regular expressions, neural networks, logistic regression and more. Each of the 50 book sections introduces a problem to solve, walks the reader through the skills necessary to solve that problem, then provides a concise one-liner Python solution with a detailed explanation.

[[https://pythononeliners.com/|Book page (free material)]]
[[https://nostarch.com/pythononeliners|Publisher's page]]

----

[[https://www.packtpub.com/application-development/learn-programming-python-cody-jackson|Learn Programming in Python with Cody Jackson]]

Cody Jackson

ISBN 13: 9781789531947 Packt 304 Pages (November 2018)

'''Book Overview:'''

Kick-start your development journey with this end-to-end guide that covers Python programming fundamentals along with application development

Python is a cross-platform language used by organizations such as Google and NASA. It lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. Based on his personal experiences when learning to program, Learn Programming in Python with Cody Jackson provides a hands-on introduction to computer programming utilizing one of the most readable programming languages–Python. It aims to educate readers regarding software development as well as help experienced developers become familiar with the Python language, utilizing real-world lessons to help readers understand programming concepts quickly and easily.

The book starts with the basics of programming, and describes Python syntax while developing the skills to make complete programs. In the first part of the book, readers will be going through all the concepts with short and easy-to-understand code samples that will prepare them for the comprehensive application built in parts 2 and 3. The second part of the book will explore topics such as application requirements, building the application, testing, and documentation. It is here that you will get a solid understanding of building an end-to-end application in Python. The next part will show you how to complete your applications by converting text-based simulation into an interactive, graphical user interface, using a desktop GUI framework. After reading the book, you will be confident in developing a complete application in Python, from program design to documentation to deployment.

[[https://www.packtpub.com/application-development/learn-programming-python-cody-jackson|Publisher's page]]

----

[[https://www.packtpub.com/application-development/python-3-object-oriented-programming-third-edition|Python 3 Object-Oriented Programming - Third Edition]]

Dusty Phillips

ISBN 13: 9781789615852 Packt 466 Pages (October 2018)

'''Book Overview:'''

Uncover modern Python with this guide to Python data structures, design patterns, and effective object-oriented techniques

Starting with a detailed analysis of object-oriented programming, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. You will learn how to create maintainable applications by studying higher level design patterns. The book will show you the complexities of string and file manipulation, and how Python distinguishes between binary and textual data. Not one, but two very powerful automated testing systems, unittest and pytest, will be introduced in this book. You'll get a comprehensive introduction to Python's concurrent programming ecosystem.

By the end of the book, you will have thoroughly learned object-oriented principles using Python syntax and be able to create robust and reliable programs confidently.

[[https://www.packtpub.com/application-development/python-3-object-oriented-programming-third-edition|Publisher's page]]

----
''''Start Here: Python Programming for Beginners''' [[http://www.toonzcat.com/book.html|"Start Here: Python Programming for beginners"]] by Jody S. Ginther was written after the changes made in Python 3. It is aimed at total beginners and uses hands-on practice and humor to make learning to program more relaxing and enjoyable.

----
'''Software Development I: with Python'''

ISBN: 978-0-9754759-4-2, LCCN: 2010906917, 605 pages

[[http://www.softbaugh.com/courses/python1/|"Software Development I: with Python"]]

Tom Baugh

This course introduces the student to Python, cultivating professional software development skills along the way. Yet, this course requires no prior programming knowledge to learn or to teach. Organized as sixty-four lessons, sixteen tests and two exams, for a total of 82 lecture units, this course covers the following topics:

 * Python variable, function, class and environment syntax.
 * Custom module development.
 * Software development skills and activities.
 * Python dictionaries, lists, tuples and iterable types.
 * Command console operations.
 * List comprehensions.
 * Python exception handling.
 * IPython operations and commands.
 * Essential built-in Python library features.
 * An introduction to Matplotlib.
 * An introduction to wxPython and windowed development.

By the end of the course, students will have learned how to write Python projects, including custom classes and modules. The course culminates with an exploration of windowed application development, including a bitmapped graphics project. The course material includes the student text and CD-ROM with instructor's guide for each lesson, tests, exams, solutions guide for exercises, tests and exams, student handouts and completed projects for each lesson. The format of the course is intended to support classroom use, homeschool use, or self-study.

----
'''Python Programming in Context'''

Bradley N. Miller and David L Ranum

Python Programming in Context is a clear, accessible introduction to the fundamental programming and problem solving concepts necessary for students at this level. The authors carefully build upon the many important computer science concepts and problem solving techniques throughout the text and offer relevant, real-world examples and exercises to reinforce key material. Programming skills throughout the text are linked to applied areas such as Image Processing, Cryptography, Astronomy, Music, the Internet, and Bioinformatics, giving students a well rounded look of its capabilities.

''dead link''

http://www.jbpub.com/catalog/9780763746025/

----
'''Python First: The Joy of Success'''

Atanas Radenski

ISBN: 978159526-713-9, 512 pages, Llumina Press, April 2007

This book is a paper companion to the "Python First" digital pack from studypack.com. The complete digital study pack features e-texts, slides, a wealth of detailed self-guided labs that learners can complete on their own, sample programs, and extensive quizzes. The book offers a printed version of the e-texts and self-guided labs in the same format as they appear in the online digital pack.

[[http://www.llumina.com/store/python.htm|Publisher's page]]

----
'''Building Skills in Python'''

Steven F. Lott

How do you learn Python? By doing a series of exercises, each of which adds a single new feature of the language. This 250+ page book has 31 chapters that will help you build Python programming skills through a series of exercises. This book includes six projects from straight-forward to sophisticated that will help solidify your Python skills.

http://homepage.mac.com/s_lott/books/python.html

----
'''Building Skills in Programming How To Write Your Own Software Using Python'''

Steven F. Lott

How do you learn to solve your own programs by writing programs? By doing a series of exercises, each of which builds up a part of the skill set we call "computer programming". This book has 54 chapters that will help you build basic programming skills through a series of exercises that grow from simple identification of the parts of your computer through to statistical simulations.

http://homepage.mac.com/s_lott/books/nonprogrammer.html

----
'''A Byte of Python'''

 . Swaroop C H

A Byte of Python is a book on programming using the Python language. It serves as a tutorial or guide to the Python language for anyone. If all you know is how to save text files, then you can learn Python using this book. If you are an expert programmer who loves C, Perl, Java or C#, you can also learn Python using this book.

This book can be read online or downloaded from http://www.swaroopch.com/notes/Python

----
'''Practical Python'''

 . Magnus Lie Hetland

ISBN:1590590066, 619 pages, APress (August 2002)

The first half of this book introduces the Python language, and the second half demonstrates its usage in various practical projects such as "automated document conversion, newsgroup administration, graphical PDF document generation, remote document maintenance, the creation of a peer-to-peer system with XML-RPC, database integration, and GUI and game development." A new edition of this book is available under the title '''Beginning Python: From Novice to Professional'''.

[[http://www.apress.com/book/bookDisplay.html?bID=93|Publisher's page]]

----
'''Beginning Python: From Novice to Professional'''

 . Magnus Lie Hetland

ISBN:1-59059-519-x, 640 pages, APress (September 2005)

This is an update of '''Practical Python'''.

[[http://www.apress.com/book/bookDisplay.html?bID=10013|Publisher's page]]

----
'''Computer Programming is Fun!'''

 . David Handy

208 pages, Handy Software and Publishing (April 2005)

Written by a homeschooling Dad for teenage youth, this introductory computer programming book is for people who have no prior programming experience. Teaches the basic principles of programming using Python, with lots of examples. Small video game project at the end. Good for self-study or classroom use.

http://www.handysoftware.com/cpif/

----
'''Python Programming for the Absolute Beginner'''

 . Michael Dawson

ISBN:1592000738 Premier Press, 456 pages (2003)

Simple intro accessible for beginners. Very hands-on and fun, utilizes development of games to teach each concept. Great for visual and hands-on learners alike.

[[http://www.premierpressbooks.com/ptr_detail.cfm?group=Programming&isbn=1-59200-073-8|Publisher's page]]


----
----
----


[[https://www.packtpub.com/application-development/python-apprentice|The Python Apprentice]]

Robert Smallshire, Austin Bingham

ISBN 13: 9781788293181 Packt Publishing 352 pages (June 2017)

'''Book Overview:'''

Before you master Python, you need to learn the culture and the tools to become a productive member of any Python project. This book will give you a practical and thorough introduction to Python programming, providing you with the insight and technical craftsmanship you need to be a productive member of any Python project. As a Python developer, know the tools, basic idioms and of course the ins and outs of the language, the standard library and other modules to be able to jump into most projects.

'''What you will learn:'''

 * Learn the language of Python itself
 * Get a start on the Python standard library
 * Learn how to integrate 3rd party libraries
 * Develop libraries on your own
 * Become familiar with the basics of Python testing

[[https://www.packtpub.com/application-development/python-apprentice|Publisher's page]]

----

[[https://www.packtpub.com/application-development/learn-python-7-days|Learn Python in 7 Days]]

Mohit, Bhaskar N. Das

ISBN 13: 9781787288386 Packt Publishing 280 pages (May 2017)

'''Book Overview:'''

Python is a great language to get started in the world of programming and application development. This book will help you to take your skills to the next level having a good knowledge of the fundamentals of Python.

Begin with the absolute foundation, covering the basic syntax, type variables and operators. Then you can move on to concepts like statements, arrays, operators, string processing and I/O handling. You’ll be able to learn how to operate tuples and understand the functions and methods of lists. Develop a deep understanding of list and tuples and learn python dictionary. As you progress through the book, you’ll learn about function parameters and how to use control statements with the loop. You’ll further learn how to create modules and packages, storing of data as well as handling errors. Later, dive into advanced level concepts such as Python collections and how to use class, methods, objects in Python.

By the end of this book, you will be able to take your skills to the next level having a good knowledge of the fundamentals of Python.

'''What you will learn:'''

 * Use if else statement with loops and how to break, skip the loop
 * Get acquainted with python types and its operators
 * Create modules and packages
 * Learn slicing, indexing and string methods
 * Explore advanced concepts like collections, class and objects
 * Learn dictionary operation and methods
 * Discover the scope and function of variables with arguments and return value

[[https://www.packtpub.com/application-development/learn-python-7-days|Publisher's page]]

----
[[https://www.packtpub.com/packt/free-ebook/what-you-need-know-about-machine-learning2|What You Need to Know about Machine Learning]] '''(Free eBook)'''

By Gabriel A. Cánepa

ISBN 13: 9781786466211 Packt Publishing (July 2016)

'''Book Overview:'''

This book offers you the perfect place to lay the foundation for your work in the world of Machine Learning, providing the basic understanding, knowledge, and skills that you can build on with experience and time.

 * Discover the various forms Machine Learning, and take that which will benefit you the most
 * Pick up the Python tools you need to know: from pandas to scikit-learn
 * Learn the relationship between machine learning and big data
 * Understand and identify potential real-world scenarios where machine learning can be applied
 * Lay the foundations to get started in the wide world of machine learning

[[https://www.packtpub.com/packt/free-ebook/what-you-need-know-about-machine-learning2|Publisher's Page]]

----


[[https://www.packtpub.com/packt/free-ebook/what-you-need-know-about-python2|What You Need to Know about Python]] '''(Free eBook)'''

By Pierluigi Riti

ISBN 13: 9781786465566 Packt Publishing (March 2016)

'''Book Overview:'''

With this book you’ll experience the basics of Python, what it can be used for, and get a clear direction in what you need to really get the most from this great language.

 * Discover the state of Python in 2016 and what it means for you
 * Begin learning about the basics and unique features of Python
 * Take on the world of cloud and web development with Django
 * Let Jupyter handle your data visualization
 * Get an introduction to the world of DevOps

[[https://www.packtpub.com/packt/free-ebook/what-you-need-know-about-python2|Publisher's Page]]

----
[[https://www.manning.com/books/get-programming|Learn Python]]

By Ana Bell

 * Manning Publications Co
 * ISBN 9781617293788, 456 pages, printed in black & white
 * Published Spring 2018

'''Book overview:'''

When you're ready to learn to program, Python is a great language to start with. It has a straightforward syntax, you'll find it easy to learn, and it's extremely versatile. Once you master the basics, you'll appreciate Python's very strong online community where you can continue learning and tinkering with more advanced programming techniques. All you need is some help to get going. Learning to program with Python doesn't have to be difficult, in fact it can even be fun. This book will get you started!

Learn Python is an introduction to programming using one of the most popular programming languages. The first few chapters give you a quick background to programming concepts and a hands-on guide to setting up your programming environment. You will then be gently introduced to the basics of programming, building up to writing your first programs! This easy-to-follow tutorial is full of exercises to practice and reinforce each new concept, as well as to give you confidence that you are ready to move on to the next lesson. As you progress, you'll learn programming topics and concepts that are ubiquitous across almost all other programming languages. By the end of the book, you'll have a solid grasp of how to write programs as well as programming best practices.

'''Who this book is written for:'''

Anyone without programming experience who wants an easy-to-follow book that guides you through short lessons and exercises.

Chapter 4 available for free: [[https://manning-content.s3.amazonaws.com/download/e/2d021c6-d4ed-40e5-8f6d-084f92ccbb86/SampleCh04.pdf|Variables and Expressions: Giving Names and Values to Things]]

Chapter 30 available for free: [[https://manning-content.s3.amazonaws.com/download/3/145ee71-1acd-4e02-a9b0-fb0f1892485e/SampleCh30.pdf|Making your own Object Types]]

----
[[https://www.manning.com/books/the-quick-python-book-third-edition|The Quick Python Book, 3rd Edition]]

By Naomi Ceder

 * Manning Publications Co
 * ISBN 9781617294037 400 pages (estimated)
 * MEAP began December 2016, Publication in Spring 2017 (estimated)

MEAP: early access to chapters as they are being written, available at the Manning Publications web site: [[https://www.manning.com/books/the-quick-python-book-third-edition|The Quick Python Book, 3rd Edition]]

'''Book overview:'''

This third revision of Manning's popular The Quick Python Book offers a clear, crisp updated introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this latest edition includes new exercises throughout. It covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

After exploring Python's syntax, control flow, and basic data structures, the book shows how to create and deploy full applications and larger code libraries. It addresses established Python features as well as the advanced object-oriented options available in Python 3. Along the way, you'll survey the current Python development landscape, including Pythonic best practices, data extraction and cleaning, database access, and web frameworks.

'''Who this book is written for:'''

This book is for someone who knows how to program, who whats to learn Python quickly and efficiently.

Chapter 1 available for free: [[https://www.manning.com/books/the-quick-python-book-third-edition#downloads|About Python]]

----
[[https://www.packtpub.com/big-data-and-business-intelligence/python-machine-learning-cookbook|Python Machine Learning Cookbook]]

By Prateek Joshi

ISBN 13: 9781786464477 Packt Publishing 304 pages (June 2016)

'''Book overview:'''

Machine learning is becoming increasingly pervasive in the modern data-driven world. It is used extensively across many fields such as search engines, robotics, self-driving cars, and more. With this book, you will learn how to perform various machine learning tasks in different environments. We’ll start by exploring a range of real-life scenarios where machine learning can be used, and look at various building blocks. Throughout the book, you’ll use a wide variety of machine learning algorithms to solve real-world problems and use Python to implement these algorithms. You’ll discover how to deal with various types of data and explore the differences between machine learning paradigms such as supervised and unsupervised learning. We also cover a range of regression techniques, classification algorithms, predictive modeling, data visualization techniques, recommendation engines, and more with the help of real-world examples.

 * Explore classification algorithms and apply them to the income bracket estimation problem
 * Use predictive modeling and apply it to real-world problems
 * Understand how to perform market segmentation using unsupervised learning
 * Explore data visualization techniques to interact with your data in diverse ways
 * Find out how to build a recommendation engine
 * Understand how to interact with text data and build models to analyze it
 * Work with speech data and recognize spoken words using Hidden Markov Models
 * Analyze stock market data using Conditional Random Fields
 * Work with image data and build systems for image recognition and biometric face recognition
 * Grasp how to use deep neural networks to build an optical character recognition system

'''Who this book is written for:'''

This book is for Python programmers who are looking to use machine-learning algorithms to create real-world applications. This book is friendly to Python beginners, but familiarity with Python programming would certainly be useful to play around with the code.

[[https://www.packtpub.com/big-data-and-business-intelligence/python-machine-learning-cookbook|Publisher's page]]

----
[[https://www.packtpub.com/application-development/modular-programming-python|Modular Programming with Python]]

By Erik Westra

ISBN 13: 9781785884481 Packt Publishing 246 pages (May 2016)

'''Book overview:'''

This book will help readers develop readable, reliable, and maintainable programs in Python. Starting with an introduction to the concept of modules and packages, this book shows how you can use these building blocks to organize a complex program into logical parts and make sure those parts are working correctly together. Using clearly written, real-world examples, this book demonstrates how you can use modular techniques to build better programs. A number of common modular programming patterns are covered, including divide-and-conquer, abstraction, encapsulation, wrappers and extensibility. You will also learn how to test your modules and packages, how to prepare your code for sharing with other people, and how to publish your modules and packages on GitHub and the Python Package Index so that other people can use them. Finally, you will learn how to use modular design techniques to be a more effective programmer.

 * Learn how to use modules and packages to organize your Python code
 * Understand how to use the import statement to load modules and packages into your program
 * Use common module patterns such as abstraction and encapsulation to write better programs
 * Discover how to create self-testing Python packages
 * Create reusable modules that other programmers can use
 * Learn how to use GitHub and the Python Package Index to share your code with other people
 * Make use of modules and packages that others have written
 * Use modular techniques to build robust systems that can handle complexity and changing requirements over time

'''Who this book is written for:'''

This book is intended for beginner to intermediate level Python programmers who wish to learn how to use modules and packages within their programs. While readers must understand the basics of Python programming, no knowledge of modular programming techniques is required.

[[https://www.packtpub.com/application-development/modular-programming-python|Publisher's page]]

----
[[http://www.spronck.net/pythonbook|The Coder's Apprentice: Learning programming with Python 3]]

By Pieter Spronck

~400 pages (July 2016)

'''Book overview:'''

"The Coder's Apprentice" is a course book, aimed at teaching Python 3 to students and teenagers who are completely new to programming. Contrary to many of the other books that teach Python programming, this book assumes no previous knowledge of programming on the part of the students, and contains numerous exercises that allow students to train their programming skills.

The book covers all imperative programming and object oriented programming aspects of Python 3, including:

 * Installing, writing, and running Python
 * Expressions, variables, conditions, loops, and functions
 * Strings, tuples, lists, dictionaries, and sets
 * Text files, binary files, and exceptions
 * Object orientation, operator overloading, inheritance, iterators, and generators
 * Regular expressions

The book also spends time on algorithm design and writing effective code.

The book is freely available as PDF.

----
[[https://www.packtpub.com/networking-and-servers/learning-python-forensics|Learning Python for Forensics]]

By Preston Miller, Chapin Bryce

ISBN 13: 9781783285235 Packt Publishing 488 pages (May 2016)

'''Book overview:'''

This book will illustrate how and why you should learn Python to strengthen your analysis skills and efficiency as you creatively solve real-world problems through instruction-based tutorials. The tutorials use an interactive design, giving you experience of the development process so you gain a better understanding of what it means to be a forensic developer.

 * Discover how to perform Python script development.
 * Update yourself by learning the best practices in forensic programming.
 * Build scripts through an iterative design.
 * Explore the rapid development of specialized scripts.
 * Understand how to leverage forensic libraries developed by the community.
 * Design flexibly to accommodate present and future hurdles.
 * Conduct effective and efficient investigations through programmatic pre-analysis.

'''Who this book is written for:'''

If you are a forensics student, hobbyist, or professional that is seeking to increase your understanding in forensics through the use of a programming language, then this book is for you.You are not required to have previous experience in programming to learn and master the content within this book. This material, created by forensic professionals, was written with a unique perspective and understanding of examiners who wish to learn programming.

[[https://www.packtpub.com/networking-and-servers/learning-python-forensics|Publisher's page]]

----
[[https://www.packtpub.com/big-data-and-business-intelligence/practical-data-analysis-cookbook|Practical Data Analysis Cookbook]]

By Tomasz Drabas

ISBN 13: 9781783551668 Packt Publishing 384 pages (April 2016)

'''Book overview:'''

This book provides a rich set of independent recipes that dive into the world of data analytics and modeling using a variety of approaches, tools, and algorithms. You will learn the basics of data handling and modeling, and will build your skills gradually toward more advanced topics such as simulations, raw text processing, social interactions analysis, and more.

 * Read, clean, transform, and store your data usng Pandas and OpenRefine.
 * Understand your data and explore the relationships between variables using Pandas and D3.js.
 * Explore a variety of techniques to classify and cluster outbound marketing campaign calls data of a bank using Pandas, mlpy, NumPy, and Statsmodels.
 * Reduce the dimensionality of your dataset and extract the most important features with pandas, NumPy, and mlpy.
 * Predict the output of a power plant with regression models and forecast water flow of American rivers with time series methods using pandas, NumPy, Statsmodels, and scikit-learn.
 * Explore social interactions and identify fraudulent activities with graph theory concepts using NetworkX and Gephi.
 * Scrape Internet web pages using urlib and BeautifulSoup and get to know natural language processing techniques to classify movies ratings using NLTK .
 * Study simulation techniques in an example of a gas station with agent-based modeling.

'''Who this book is written for:'''

This hands-on recipe guide is divided into three sections that tackle and overcome real-world data modeling problems faced by data analysts/scientist in their everyday work. Each independent recipe is written in an easy-to-follow and step-by-step fashion.

[[https://www.packtpub.com/big-data-and-business-intelligence/practical-data-analysis-cookbook|Publisher's page]]

----

[[https://www.packtpub.com/application-development/python-projects-kids|Python Projects for Kids]]

Jessica Ingrassellino

ISBN: 9781782175063

192 pages, April 2016, Packt Publishing

Kids are always the most fast-paced and enthusiastic learners, and are naturally willing to build stuff that looks like magic at the end (when it works!). Programming can be one such magic. Being able to write a program that works helps them feel they've really achieved something. Kids today are very tech-savvy and cannot wait to enter the fast-paced digital world.

Because Python is one of the most popular languages and has a syntax that is quite simple to understand, even kids are eager to use it as a stepping stone to learning programming languages.

This book covers projects that are simple and fun, and teach kids how to write Python code that works.

The book will teach the basics of Python programming, installation, and so on and then will move on to projects. A total of three projects, with each and every step explained carefully, without any assumption of previous experience.

'''What You Will Learn''':

 * Start fiddling with Python's variables, build functions and interact with users
 * Build your own calculator using the Math Library
 * Train Python to make logical decisions
 * Work with moving 2D objects on-screen
 * Understand the Pygame Library and build your very own game!

This book is for kids (aged 10 and over). This is book is intended for absolute beginners who lack any knowledge of computing or programming languages and want to get started in the world of programming.

----
[[https://www.nostarch.com/pythonwithminecraft|Learn to Program with Minecraft]]

Craig Richardson

ISBN: 978-1-59327-670-6

304 pages, December 2015, No Starch Press

You’ve bested creepers, traveled deep into caves, and maybe even gone to The End and back—but have you ever transformed a sword into a magic wand? Built a palace in the blink of an eye? Designed your own color-changing disco dance floor?

In ''Learn to Program with Minecraft®'', you’ll do all this and more with the power of Python, a free language used by millions of professional and first-time programmers!

Begin with some short, simple Python lessons and then use your new skills to modify Minecraft to produce instant and totally awesome results. Learn how to customize Minecraft to make mini-games, duplicate entire buildings, and turn boring blocks into gold.

You’ll also write programs that:

 * Take you on an automated teleportation tour around your Minecraft world
 * Build massive monuments, pyramids, forests, and more in a snap!
 * Make secret passageways that open when you activate a hidden switch
 * Create a spooky ghost town that vanishes and reappears elsewhere
 * Show exactly where to dig for rare blocks
 * Cast a spell so that a cascade of flowers (or dynamite if you’re daring!) follows your every move
 * Make mischief with dastardly lava traps and watery curses that cause huge floods

Whether you’re a Minecraft megafan or a newbie, you’ll see Minecraft in a whole new light while learning the basics of programming. Sure, you could spend all day mining for precious resources or building your mansion by hand, but with the power of Python, those days are over!

Requires: Windows 7 or later; OS X 10.10 or later; or a Raspberry Pi.

Uses Python 3

----
[[https://www.nostarch.com/automatestuff|Automate the Boring Stuff with Python]]

Al Sweigart

ISBN: 978-1-59327-599-0

504 pages, April 2015, No Starch Press

If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?

In ''Automate the Boring Stuff with Python'', you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required. Once you’ve mastered the basics of programming, you’ll create Python programs that effortlessly perform useful and impressive feats of automation to:

 * Search for text in a file or across multiple files
 * Create, update, move, and rename files and folders
 * Search the Web and download online content
 * Update and format data in Excel spreadsheets of any size
 * Split, merge, watermark, and encrypt PDFs
 * Send reminder emails and text notifications
 * Fill out online forms

Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.

Don’t spend your time doing work a well-trained monkey could do. Even if you’ve never written a line of code, you can make your computer do the grunt work. Learn how in ''Automate the Boring Stuff with Python''.

Note: The programs in this book are written to run on Python 3.

----
[[https://www.nostarch.com/doingmathwithpython|Doing Math with Python]]

Amit Saha

ISBN: 978-1-59327-640-9

264 pages, August 2015, No Starch Press

In ''Doing Math with Python'' you'll learn to how to use the Python programming language as a tool to delve into math concepts. Python is easy to learn, and it's perfect for exploring topics like statistics, geometry, probability, and calculus. You’ll learn to write programs to find derivatives, solve equations graphically, manipulate algebraic expressions, even examine projectile motion.

Rather than crank through tedious calculations by hand, you'll learn how to use Python functions and modules to handle the number crunching while you focus on the principles behind the math. Exercises throughout teach fundamental programming concepts, like using functions, handling user input, and reading and manipulating data. As you learn to think computationally, you'll discover new ways to explore and think about math, and gain valuable programming skills that you can use to continue your study of math and computer science.

If you’re interested in math but have yet to dip into programming, you’ll find that Python makes it easy to go deeper into the subject—let Python handle the tedious work while you spend more time on the math.

Suggested for ages 14 and up.

----
[[https://www.nostarch.com/pythoncrashcourse|Python Crash Course]]

Eric Matthes

ISBN: 978-1-59327-603-4

624 pages, November 2015, No Starch Press

Solve Problems, Make Things, and Do Cool Stuff!

''Python Crash Course'' is a fast-paced and thorough introduction to Python that will have you writing programs, solving problems, and making things that work, fast.

In the first half of the book you’ll learn basic programming concepts, from installing Python to testing code, including how to use a text editor, write clean and readable code, store data in lists and dictionaries, create classes that simulate real-life objects, and write loops to perform actions on your data. You’ll also learn how to make your programs interactive and test your code safely before adding it to your project. The exercises in chapters will help cement your learning so you can put that knowledge into practice in the second half, with three substantial projects: a Space-Invaders-inspired arcade game, data visualization with Python’s super-handy libraries, and a simple Web app you can deploy online.

As you work through ''Python Crash Course ''you’ll learn how to:

 * Make games that respond to buttons and mouse clicks, and grow more difficult as you progress
 * Work with data and generate interactive visualizations
 * Utilize the most useful Python libraries and tools, including: matplotlib, numpy, and pygal
 * Create and customize Web apps and deploy them safely online
 * Deal with mistakes and errors, to better prepare you for solving your own programming problems later

''Python Crash Course'' will teach you just what you need to know to start programming meaningful things quickly.

Uses Python 2 and 3

----
[[https://www.nostarch.com/pythonforkids|Python for Kids]]

Jason Briggs

ISBN: 978-1-59327-407-8

344 pages, December 2012, No Starch Press

The code in this book runs on almost anything: Windows, Mac, Linux, even an OLPC laptop or Raspberry Pi!

Python is a powerful, expressive programming language that’s easy to learn and fun to use! But books about learning to program in Python can be kind of dull, gray, and boring, and that’s no fun for anyone.

''Python for Kids'' brings Python to life and brings you (and your parents) into the world of programming. The ever-patient Jason R. Briggs will guide you through the basics as you experiment with unique (and often hilarious) example programs that feature ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored, dissected, and explained; and quirky, full-color illustrations keep things on the lighter side.

Chapters end with programming puzzles designed to stretch your brain and strengthen your understanding. By the end of the book you’ll have programmed two complete games: a clone of the famous Pong and “Mr. Stick Man Races for the Exit”—a platform game with jumps, animation, and much more.

As you strike out on your programming adventure, you’ll learn how to:

 * 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

Why should serious adults have all the fun? ''Python for Kids'' is your ticket into the amazing world of computer programming.

For kids ages 10+ (and their parents).

Featuring original artwork by Miran Lipovača!

----
[[https://www.nostarch.com/teachkids|Teach Your Kids to Code]]

Bryson Payne

ISBN: 978-1-59327-614-0

336 pages, April 2015, No Starch Press

''Teach Your Kids to Code'' is a parent's and teacher's guide to teaching kids basic programming and problem solving using Python, the powerful language used in college courses and by tech companies like Google and IBM.

Step-by-step explanations will have kids learning computational thinking right away, while visual and game-oriented examples hold their attention. Friendly introductions to fundamental programming concepts such as variables, loops, and functions will help even the youngest programmers build the skills they need to make their own cool games and applications.

Whether you've been coding for years or have never programmed anything at all, ''Teach Your Kids to Code'' will help you show your young programmer how to:

 * Explore geometry by drawing colorful shapes with Turtle graphics
 * Write programs to encode and decode messages, play Rock-Paper-Scissors, and calculate how tall someone is in Ping-Pong balls
 * Create fun, playable games like War, Yahtzee, and Pong
 * Add interactivity, animation, and sound to their apps

''Teach Your Kids to Code'' is the perfect companion to any introductory programming class or after-school meet-up, or simply your educational efforts at home. Spend some fun, productive afternoons at the computer with your kids—you can all learn something!

----
[[http://www.amazon.com/Python-complete-beginners-friendly-experience/dp/1514376989/|Python for complete beginners]]

Dr. Martin Jones

ISBN: 978-1514376980

246 pages, 2015

Getting started with programming can be an intimidating challenge. Most books and tutorials assume lots of previous knowledge, skip over jargon and new concepts, and use examples that only make sense if you already understand programming.

This book is different. It gives you an introduction to programming in Python from the ground up, starting with tips on installation and setting up your programming environment, and moving through the core parts of the Python language in a logical order. Dr. Jones has drawn on his many years experience teaching programming to produce a book that will guide you through the language step by step in simple terms.

The book doesn't assume any previous knowledge, and introduces fundamental programming concepts like variables, loops and functions using simple terms and easy-to-follow examples that you can run and modify.

The book takes a unique approach to practical exercises. Rather than simply presenting you with the solutions, it shows you how large, complex programs are gradually built up from simple building blocks, explaining the role of every line. You can download the examples and exercise solutions - edit, modify and run them yourself.

Examples and exercise files available at the author's website: [[http://pythonforcompletebeginners.com/|Python for complete beginners]]

----
[[http://www.manning.com/garrard/|Geoprocessing with Python]]

Chris Garrard

Manning Publications ISBN: 9781617292149, 400 pages, MEAP Began May 2014

Geospatial data is hard to ignore. Nearly every car, phone, or camera has a GPS sensor, and aerial photos, satellite imagery, and data representing political boundaries, roads, rivers, and streams are available for free download from many websites. Geoprocessing is the science of reading, analyzing, and presenting geospatial data programmatically. The Python language, along with dozens of open source libraries and tools, makes it possible to take on professional geoprocessing tasks without investing in expensive proprietary packages like ArcGIS and MapInfo.

Geoprocessing with Python teaches you how to use the Python programming language along with free and open source tools to read, write, and process geospatial data. You'll learn how to access available data sets to make maps or perform your own analyses using free and open source tools like the GDAL, Shapely, and Fiona Python modules. You'll master core practices like handling multiple vector file formats, editing and manipulating geometries, applying spatial and attribute filters, working with projections, and performing basic analyses on vector data. You'll also learn how to create geospatial data, rather than just consuming it. The book also covers how to manipulate and analyze raster data, such as aerial photographs, satellite images, and digital elevation models.

Chapter one available for free: [[http://www.manning.com/garrard/GeoPython_MEAP_ch01.pdf|Introduction]]

MEAP Available at Manning Publications's Site: [[http://www.manning.com/garrard/|Geoprocessing with Python]]

----
[[https://books.google.com.br/books?id=HvSsCAAAQBAJ|Algorithms and Programming Course]]

Guilherme Soares Lima

(2015, 100 pages)

The book is a gentle introtuction to algorithms and programming with Python, specially for those that don't know how to program on any language. It has a progressive approach, it covers most of basic topics like programming logics, repetition structures. It is a small book, but yet a powerful tool for learning. It helps get good orientation from the beginning. It has only 100 pages and it's free.

----
[[http://www.cengagebrain.com/shop/isbn/9781111822705|Fundamentals of Python: First Programs]]

Ken Lambert

ISBN 13: 978-1-111-82270-5 (2012, 510 pages)

An introduction to programming and problem solving with Python (CS1). Covers algorithmic problem solving, basic data structures, functional design, and object-oriented design. Also includes an introduction to turtle graphics, image processing, GUIs, and networks.

 1. Introduction.
 1. Data Types and Expressions.
 1. Control Statements.
 1. Strings and Text Files.
 1. Lists and Dictionaries.
 1. Design with Functions.
 1. Simple Graphics and Image Processing.
 1. Design with Classes.
 1. Graphical User Interfaces.
 1. Multithreading, Networks, and Client/Server Programming.

Link to example programs and other information at the author's [[http://home.wlu.edu/~lambertk/python/cs1python/index.html|website]].

----
[[http://www.cengagebrain.com/shop/isbn/9781285752006|Fundamentals of Python: Data Structures]]

Ken Lambert

ISBN 13: 978-1-285-75200-6 (2014, 496 pages)

An introduction to Python with data structures (CS2). Covers the design of collection classes with polymorphism and inheritance, multiple implementations of collection interfaces, and the analysis of space/time tradeoffs of different collections, all within a realistic collection framework.

 1. Basic Python Programming.
 1. An Overview of Collections.
 1. Searching, Sorting, and Complexity Analysis.
 1. Arrays and Linked Structures.
 1. Interfaces, Implementations, and Polymorphism.
 1. Inheritance and Abstract Classes.
 1. Stacks.
 1. Queues.
 1. Lists.
 1. Trees.
 1. Sets and Dictionaries.
 1. Graphs.

Link to example programs and other information at the author's [[http://home.wlu.edu/~lambertk/python/cs2python/index.html|website]].

----
[[http://home.wlu.edu/~lambertk/breezypythongui/easyguibook.html|Easy GUI Programming in Python]]

Ken Lambert

ISBN-13: 978-0-9859567-0-7 (August, 2012, 110 pages, ebook only)

An introduction to GUI programming in Python. Topics include the basics of window layout, widget configuration, and responding to user events. The book uses a toolkit, [[http://home.wlu.edu/~lambertk/breezypythongui/index.html|breezypythongui]], to explore GUI concepts and resources within a simple coding framework.

 1. The Hello World Program
 1. Windows, Layouts, and Window Components
 1. Command Buttons and Responding to Events
 1. Input and Output with Data Fields
 1. Error Handling and Message Boxes
 1. The Model/View/Controller Pattern
 1. Check Buttons, Radio Buttons, and Menus
 1. Scrolling List Boxes
 1. Text Areas and File Dialogs
 1. Dialogs
 1. Canvases and Graphics Operations
 1. Responding to Mouse Events in Canvases

Link to example programs and ebook vendor sites at the author's [[http://home.wlu.edu/~lambertk/breezypythongui/easyguibook.html|website]].

----
[[http://www.packtpub.com/building-machine-learning-systems-with-python/book|Building Machine Learning Systems with Python]]

By Willi Richert, Luis Pedro Coelho

ISBN 13: 9781782161400 Packt Publishing 290 pages (July 2013)

Master the art of machine learning with Python and build effective machine learning systems with this intensive hands-on guide

 * Master Machine Learning using a broad set of Python libraries and start building your own Python-based ML systems
 * Covers classification, regression, feature engineering, and much more guided by practical examples
 * A scenario-based tutorial to get into the right mind-set of a machine learner (data exploration) and successfully implement this in your new or existing projects

'''Who this book was written for'''

This book is for Python programmers who are beginners in machine learning, but want to learn Machine learning. Readers are expected to know Python and be able to install and use open-source libraries. They are not expected to know machine learning, although the book can also serve as an introduction to some Python libraries for readers who know machine learning. This book does not go into the detail of the mathematics behind the algorithms.

This book primarily targets Python developers who want to learn and build machine learning in their projects, or who want to provide machine learning support to their existing projects, and see them getting implemented effectively.

[[http://www.packtpub.com/building-machine-learning-systems-with-python/book|Publisher's page]]

----
[[https://www.createspace.com/3611970|Learning to Program Using Python]]

Cody Jackson

ISBN: 1461182050 (November 2011, 230 pages)

An introduction to computer programming, using the easy, yet powerful, Python programming language. Python, a cross-platform language used by such organizations as Google and NASA, lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. The core Python language (both versions 2.x and 3.x) is discussed, as well as an introduction to graphical user interface creation.

The ideas covered in this book provide the reader with many major programming topics, applicable to a wide variety of programming languages. After reading this book, the reader should be able to quickly create simple to medium-level programs and be prepared to tackle more complex programming tasks.

[[https://www.createspace.com/3611970|Print version]]

[[http://www.amazon.com/dp/B0063ZM6I0|Kindle version (no DRM)]]

The book's [[http://python-ebook.blogspot.com|website]] also provides alternative electronic versions for free, without DRM. In addition, source code files for programs shown in the book are also available.

----
[[https://www.packtpub.com/python-2-6-text-processing-beginners-guide/book|Python 2.6 Text Processing Beginner's Guide]]

Jeff McNeil

ISBN 13: 978-1-84951-212-1 Packt Publishing 380 pages (December 2010)

The easiest way to learn how to manipulate text with Python:

 * The easiest way to learn text processing with Python
 * Deals with the most important textual data formats you will encounter
 * Learn to use the most popular text processing libraries available for Python
 * Packed with examples to guide you through

[[https://www.packtpub.com/python-2-6-text-processing-beginners-guide/book|Publisher's page]]

----
'''Learning Python, 5th Edition'''

(Mark Lutz, O'Reilly Media, June 2013, 1600 pages)

An in-depth, tutorial introduction to Python core language fundamentals, based on 260 live classes taught by the author. This edition is updated to cover both Python 3.X and 2.X. It is specifically based on 3.3 and 2.7, but is applicable to other releases.

Links: [[http://www.rmi.net/~lutz/about-lp5e.html|author]], [[http://shop.oreilly.com/product/0636920028154.do|publisher]].

----
'''Programming Python, 4th Edition'''

(Mark Lutz, O'Reilly Media, December 2010, 1600 pages)

An in-depth, tutorial introduction to common Python application programming domains, and a follow-up to the core language coverage of Learning Python. This edition is updated to use Python 3.X (3.1 and 3.2 specifically), but is still largely applicable to most 2.X readers.

Links: [[http://www.rmi.net/~lutz/about-pp4e.html|author]], [[http://shop.oreilly.com/product/9780596158118.do|publisher]].

----
'''Python Pocket Reference, 4th Edition'''

(Mark Lutz, O'Reilly Media, September 2009, 200 pages)

A reference-only book, designed to serve as a companion to both Learning Python and Programming Python. This edition is updated to cover both Python 3.X and 2.X. It is specifically based on 3.1 and 2.6, but is applicable to other releases.

Links: [[http://www.rmi.net/~lutz/about-pyref4e.html|author]], [[http://shop.oreilly.com/product/9780596158095.do|publisher]].

----
[[http://oreilly.com/catalog/9781449382674/|Head First Python]] by Paul Barry

 * Published by: O'Reilly Media, November 2010, 496 pages.
 * Print ISBN: 978-1-4493-8267-4, ISBN 10: 1-4493-8267-3
 * Ebook ISBN: 978-1-4493-8268-1, ISBN 10: 1-4493-8268-1

'''Head First Python'''

Ever wished you could learn Python from a book? Head First Python helps you learn the language through a unique method that goes beyond syntax and how-to manuals. You'll quickly grasp Python's fundamentals, then move on to persistence, exception handling, web development, SQLite, data wrangling, and Google App Engine. You'll also learn how to write mobile apps for Android, all thanks to the power that Python gives you. Head First Python is a complete learning experience that will help you become a bona fide Python programmer.

This book is designed to get you up to speed with Python as quickly as possible.

See http://python.itcarlow.ie and http://www.headfirstlabs.com/books/hfpython/ for more details.

----
[[http://www.pragprog.com/titles/gwpy2/practical-programming|Practical Programming]] by Jennifer Campbell, Paul Gries, and Jason Montojo

Practical Programming (2nd edition): An Introduction to Computer Science Using Python 3

 * ISBN: 978-1-93778-545-1
 * 350 pages, August 2013

Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer.

----
[[http://www.pragprog.com/titles/gwpy/practical-programming|Practical Programming]] by Jennifer Campbell, Paul Gries, Jason Montojo, and Greg Wilson

Practical Programming: An Introduction to Computer Science Using Python

 * ISBN: 978-1-93435-627-2
 * 350 pages, Apr 2009

Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer.

----
[[https://www.packtpub.com/python-3-object-oriented-programming/book|Python 3 Object Oriented Programming]]

Dusty Phillips

ISBN-13: 978-1-849511-26-1 Packt Publishing 404 pages (July 2010)

Harness the power of Python 3 objects:

'''Overview of Python 3 Object Oriented Programming'''

 * Learn how to do Object Oriented Programming in Python using this step-by-step tutorial
 * Design public interfaces using abstraction, encapsulation, and information hiding
 * Turn your designs into working software by studying the Python syntax
 * Raise, handle, define, and manipulate exceptions using special error objects
 * Implement Object Oriented Programming in Python using practical examples

'''Who this book is written for''' 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.

[[https://www.packtpub.com/python-3-object-oriented-programming/book|Publisher's page]]

----
[[http://www.pearsonhighered.com/educator/product/Practice-of-Computing-using-Python-The/9780136110675.page|The Practice of Computing Using Python]] by Bill Punch and Rich Enbody

 * ISBN-10: 0136110673
 * ISBN-13: 9780136110675
 * Addison-Wesley, 696 pp, 02/25/2010

The Computer Science Department of Michigan State University converted their Introduction to Programming Course [[http:www.cse.msu.edu/~cse231|CSE 231]] to Python in the Fall of 2007. One of the products of this change was this textbook, written as a general introduction to CS1 using Python. The book adopts the theme of "data manipulation" for its examples, focusing on using real-world datasets and manipulating them (averages, graphs, indicies, searches, etc.) in various ways.

The book covers the standard CS1 curriculum, and includes extensive algorithm development sections to help students in their study of computing. Supplemental material is also provided including: full set of power point slides, collaborative lab exercises, project homeworks and solutions to over 600 exercises in the book.

----
[[http://www.headfirstlabs.com/books/hfprog|Head First Programming]] by Paul Barry and David Griffiths

A Learner's Guide to Programming, using the Python Language

 * ISBN-10: 0596802374
 * ISBN-13: 978-0596802370
 * O'Reilly Media
 * 440 pages (November 2009)

Ever wished you could learn how to program from a book? If you have no previous programming experience, you might be wondering where to start. Head First Programming introduces the core concepts of writing computer programs--variables, decisions, loops, functions, and objects--which apply regardless of the programming language, but uses concrete examples and exercises in the dynamic and versatile Python language to apply and reinforce these concepts.

Learn the basic tools to start writing the programs that interests you, not the generic software someone else thinks you should have, and get a better understanding of what software can (and cannot) do. When you're finished, you'll have the necessary foundation to apply to whatever language or software project you need or want to learn.

----
[[http://www.qtrac.eu/py3book.html|Programming in Python 3: A Complete Introduction to the Python Language (Second Edition)]] by Mark Summerfield

 * ISBN10: 0321680561
 * Addison-Wesley Professional
 * 648 pages (November 2009)

This book teaches you how to write programs using Python 3 in good Python 3 style.

The book will be useful to people who program professionally as part of their job, whether as full-time software developers, or those from other disciplines, including scientists and engineers, who need to do some programming in support of their work. It will also prove ideal for those Python 2 programmers who need to migrate (or prepare to migrate) to Python 3. The book is also suitable for students—the only prerequisite is some basic knowledge of programming in any language, for example, Basic or Java, or of course Python itself.

The book teaches solid procedural style programming, then builds on that to teach solid object-oriented programming, and then goes on to more advanced topics such as descriptors and class decorators. But even newcomers to Python 3 should be able to write useful (although small and basic) programs after reading chapter 1, and then go on to create larger and more sophisticated programs as they work through the chapters.

The book's [[http://www.qtrac.eu/py3book.html|web site]] lists the table of contents and has links to extracts. It also has all the examples and exercise solutions available for download.

----
[[http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521725965|Python for Software Design: How to Think Like a Computer Scientist]] by Allen B. Downey, Olin College of Engineering, Massachusetts

 * ISBN-13: 9780521725965)
 * Cambridge University Press
 * 272 pages (March 2009)

Python for Software Design is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters. The focus is on the programming process, with special emphasis on debugging. The book includes a wide range of exercises, from short examples to substantial projects, so that students have ample opportunity to practice each new concept. Exercise solutions and code examples are available from thinkpython.com, along with Swampy, a suite of Python programs that is used in some of the exercises.

----
[[http://www.manning.com/sande|Hello World! Computer Programming for Kids and Other Beginners]] by Warren Sande and Carter Sande

 * ISBN10: 1933988495
 * Manning Publications
 * 488 pages (January 2009)

"Computer programming is a powerful tool for children to 'learn learning,' that is, to learn the skills of thinking and problem-solving...Children who engage in programming transfer that kind of learning to other things."--Nicholas Negroponte, the man behind the One Laptop Per Child project that hopes to put a computer in the hands of every child on earth, January 2008

Your computer won't respond when you yell at it. Why not learn to talk to your computer in its own language? Whether you want to write games, start a business, or you're just curious, learning to program is a great place to start. Plus, programming is fun!

Hello World! provides a gentle but thorough introduction to the world of computer programming. It's written in language a 12-year-old can follow, but anyone who wants to learn how to program a computer can use it. Even adults. Written by Warren Sande and his son, Carter, and reviewed by professional educators, this book is kid-tested and parent-approved. You don't need to know anything about programming to use the book. But you should know the basics of using a computer--e-mail, surfing the web, listening to music, and so forth. If you can start a program and save a file, you should have no trouble using this book.

Color ebook and black and white print book are both available from the publisher at [[http://www.manning.com/sande|www.manning.com/sande]].

----
[[http://manning.com/briggs/|Hello Python!]] by Anthony Briggs

 * Foreword by Steve Holden
 * 424 pages (February, 2012)
 * ISBN 9781935182085

Hello! Python fully covers the building blocks of Python programming and gives you an introduction to more advanced topics such as object-oriented programming, functional programming, network programming, and program design. New (or nearly new) programmers will learn most of what they need to know to start using Python immediately.

A more advanced book than Hello World!, it takes a different tack. You follow along as the author writes a practical project in every chapter. You'll see how programmers think about solving problems with programming, and there are hints on how to extend the projects to suit your own needs.

----
'''[[http://www.manning.com/ceder/|The Quick Python Book, 2nd edition]]'''

 . Naomi Ceder
 * [[http://www.amazon.com/Quick-Python-Book-Second/dp/193518220X/ref=sr_1_1?ie=UTF8&qid=1309567984&sr=8-1|ISBN13:978-1935182207]]
 * Manning Publications,
 * 335 pages (January 2010)

This revision of Manning's popular The Quick Python Book offers a clear, crisp introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this updated edition covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

After exploring Python's syntax, control flow, and basic data structures, the book shows how to create, test, and deploy full applications and larger code libraries. It addresses established Python features as well as the advanced object-oriented options available in Python 3. Along the way, you'll survey the current Python development landscape, including GUI programming, testing, database access, and web frameworks.

[[http://manning.com/ceder/SampleChapter-4.pdf|Chapter 4]] [[http://manning.com/ceder/SampleChapter-6.pdf|Chapter 6]]

[[http://books.dzone.com/reviews/quick-python-book-delivers|Review by Jim Kohli, dzone.com]]

Ebook and print book are both available from the publisher at [[http://www.manning.com/ceder|www.manning.com/ceder]].

----
[[http://www.ironpythoninaction.com/|IronPython in Action]] by Michael Foord

 * ISBN10: 1933988339
 * Manning Publications
 * 480 pages (March 2009)

IronPython is an implementation of Python for the Microsoft .NET framework, Mono, and the Silverlight and Moonlight browser plugins. IronPython in Action is an introduction to programming with IronPython for both .NET programmers interested in Python and Python programmers new to .NET.

IronPython in Action includes a swift paced Python tutorial, chapters introducing .NET libraries and structured application development with Python, integrating with other .NET languages like C# and VB.NET, server side web programming with ASP.NET and client side web programming with Silverlight, system administration, working with the WPF and Windows Forms user interface libraries and embedding the IronPython engine in .NET applications.

As well as covering specific topics and both Python and .NET libraries the book pays special attention to the nitty-gritty details of Python and .NET integration that previous experience with Python or C# won't necessarily have prepared you for.

Color ebook and black and white print book are both available from the publisher at [[http://www.manning.com/foord|www.manning.com/foord]].

----
"Beginning Python: From Novice to Professional, Second Edition" Magnus Lie Hetland

ISBN13: 978-1-59059-982-2 Apress Inc, 688 pages (September 2008)

Gain a fundamental understanding of Python’s syntax and features with the second edition of Beginning Python, an up–to–date introduction and practical reference. Covering a wide array of Python–related programming topics, including addressing language internals, database integration, network programming, and web services, you’ll be guided by sound development principles. Ten accompanying projects will ensure you can get your hands dirty in no time.

Updated to reflect the latest in Python programming paradigms and several of the most crucial features found in the forthcoming Python 3.0 (otherwise known as Python 3000), advanced topics, such as extending Python and packaging/distributing Python applications, are also covered.

[[http://www.apress.com/book/view/9781590599822/|Home Page]] (includes electronic version)

----
'''Object-Oriented Programming in Python'''

 . Michael H. Goldwasser, David Letscher

This is a textbook for an object-oriented introduction to computer science course (CS1) using Python.

[[http://prenhall.com/goldwasser|Home Page]]

ISBN:0136150314, Prentice Hall Publishing, 688 pages (October 2007)

----
'''An Introduction to Python''' (version 2.5)

 . Guido van Rossum, and Fred L. Drake, Jr. (Editor)

ISBN:0954161769, Network Theory Ltd, 164 pages (November 2006)

This is a printed edition of the official Python tutorial by Guido van Rossum. For each copy sold $1 will be donated to the Python Software Foundation.

[[http://www.network-theory.co.uk/python/manual/|Home Page]] (includes electronic version)

----
'''Python for Dummies''' (version 2.5)

 . Stef Maruch and Aahz Maruch

ISBN:0471778648, For Dummies, 410 pages (August 2006)

[[http://www.pythonfood.com/|Home Page]]

Following the usual Dummies style, this book takes a light-hearted approach to introducing Python. In addition to Python itself, ''Python for Dummies'' also gives lots of advice about good programming practices.

----
'''Introduction to Computing and Programming Using Python: A Multimedia Approach''' Mark Guzdial

ISBN: 0131176552 http://coweb.cc.gatech.edu/mediaComp-teach

An introduction to programming by manipulating digital media --- creating negatives and grayscale pictures, splicing sounds, implementing chromakey.

----
'''Core Python Programming'''

 . Wesley J. Chun

ISBN: 0132269937 (2nd ed.); 0130260363 (1st ed.)

Prentice Hall PTR / Pearson Education

~1120 pages (Sep 2006); 810 pages (Jan 2001)

The main goal of this book is comprehensively teaching you the core of the Python language, much more than just its syntax (which you don't really need a book to learn, right?). Knowing more about how Python works under the covers, including the relationship between data objects and memory management, will make you a much more '''effective''' Python programmer coming out of the gate. The advanced topics chapters are meant as complete intros or "quick dives" into each of those distinct subjects. However, if moving towards those specific areas of development, they are more than enough to get you pointed in the right direction. We would say that the book is 40% introductory, 40% intermediate (in-depth core Python material plus advanced topics chapters), and 20% reference -- it is *not* meant to be a substitute for a pure reference such as the ''Python Essential Reference'' or ''Python in a Nutshell''.

The new 2nd edition is expanded (300 new pages!) and updated through Python 2.5 as well as confirmed functionality for future versions! Also added are a few new chapters of advanced material. As in the 1st edition, a plethora of easy to advanced exercises can be found at the end of every chapter to hammer the concepts home. At the moment, this is the most complete and up-to-date Python book on the market today.

From an anonymous reviewer: "Very well written. It is the clearest, friendliest book I have come across yet for explaining Python, and putting it in a wider context. It does not presume a large amount of other experience. It may be too slow for more advanced people, but it does go into some important Python topics carefully and in depth. Unlike too many beginner books, it never condescends or tortures the reader with childish hide-and-seek prose games. Not too many in-depth real-world examples in the book (hopefully he will do a followup volume), it sticks to gaining a solid grasp of Python syntax and structure."

[[http://corepython.com|Home Page]] (includes book reviews, errata, sample chapter, links to alternate editions, source code from the book, and more!)

Links regarding the 1st edition: [[http://www-106.ibm.com/developerworks/linux/library/l-pbook3.html|IBM Developer Works review]] [[http://www2.linuxjournal.com/lj-issues/issue85/4564.html|Linux Journal review]] [[http://www.china-pub.com/computers/common/info.asp?id=3097|Chinese edition]] [[http://safari1.oreilly.com/main.asp?bookname=0130260363|O'Reilly Safari electronic edition]] [[http://www.prakashbooks.com/details.php3?id=5806|Indian edition (English)]] [[http://www.wowbook.com/computer/book/info/book_detail.asp?isbn=ISBN89-450-7052-4|Korean edition]] [[http://www.accu.org/bookreviews/public/reviews/c/c002320.htm|Association of C/C++ Users review]] [[http://www.awaretek.com/CorePython.html|Python Learning Foundation review]] [[http://uselesspython.com/gettingstarted.html|Mississippi Python users group (Useless Python) review]]

----
'''Python Programming: An Introduction to Computer Science'''

 . John Zelle

ISBN:1887902996, Franklin Beedle & Associates, December 2003

This is a textbook for a "traditional" introduction to computer science course (CS1) using Python.

[[http://mcsp.wartburg.edu/zelle/python|Home Page]]

----
 . '''How to Think Like a Computer Scientist: Learning with Python'''

 . Allen Downey, Jeff Elkner and Chris Meyers

ISBN:0971677506, Green Tea Press 288 pages

How to Think... is a free textbook available under the GNU Free Documentation License. It is a true beginners book. The ebook version is free and available in PDF, HTML and PostScript.

[[http://thinkpython.com|Home Page]]

----
 . '''Dive Into Python: Python for Experienced Programmers'''

 . Mark Pilgrim

ISBN:1590593561, Apress 432 pages

Dive Into Python is a free Python ebook for experienced programmers available under the GNU Free Documentation License. A printed version has been published by Apress http://www.apress.com/, and is available through all major outlets.

[[http://www.diveintopython.net/|Home Page]]

----
'''Learning Python'''

 . Mark Lutz

ISBN:0596158068 O'Reilly & Associates, 1216 pages (September 2009)

Learning Python is meant for beginning Python programmers, and others seeking a quick introduction to the language. It focuses on core language fundamentals in depth, is based on Mark Lutz's Python training classes, and includes numerous exercises with solutions to guide the reader through a hands-on learning experience.

[[http://www.oreilly.com/catalog/9780596158071/|O'Reilly's catalog page]] [[http://rmi.net/~lutz/about-lp4e.html|Author's book page]] [[http://oreilly.com/catalog/9780596158071/toc.html|Sample chapters]] [[http://www2.linuxjournal.com/lj-issues/issue66/3541.html|Review of first edition by Phil Hughes in Linux Journal]]

----
'''The Quick Python Book'''

 . Daryl Harms, Kenneth McDonald

ISBN:1884777740, Manning Publications, 275 pages (October 1999)
Line 31: Line 1365:
[http://www.manning.com/Harms/Chapters.html Two sample chapters]
[http://www.accu.org/bookreviews/public/reviews/q/q002082.htm Review by Francis Glassborow in _C Vu_]
[http://www2.linuxjournal.com/lj-issues/issue73/3851.html Review by Phil Hughes]
[http://www.amk.ca/python/books/qpb.html Review by AMK]
----
Learn to Program Using Python,
Alan Gauld,
ISBN: 0201709384,
Addison-Wesley,
270 pages (December, 2000)

This book teaches programming for true beginners using Python as the teaching language. It started as a popular Web tutorial, and been expanded into a complete book.
----
Programming Python (Second Edition),
Mark Lutz,
ISBN: 0596000855,
O'Reilly & Associates,
1292 pages (March, 2001)

A massive volume, updated to cover Python 2.0. The first edition was the second Python book to be published.

[http://www.python.org/doc/essays/foreword.html Foreword by Guido van Rossum]
[http://www.ercb.com/ddj/1997/ddj.9711.html Review of the first edition by Greg Wilson]
[http://www.usenix.org/publications/login/1998-4/python.html Review of the first edition by Terry Rooker in ;login:]
[http://dannyreviews.com/h/Python.html Review of the first edition by Danny Yee]
----
Python Pocket Reference,
Mark Lutz,
ISBN: 1565925009,
O'Reilly & Associates,
75 pages (November, 1998)

This handy reference guide summarizes Python statements, built-in functions, escape and formatting codes, and other prominent Python language features.
----
Python Standard Library with CDROM,
Fredrik Lundh,
ISBN: 0596000960,
O'Reilly & Associates,
250 pages (February 2001)
----
Core Python Programming,
Wesley J. Chun,
ISBN: 0130260363,
Prentice Hall,
500 pages (November 2000)

From an anonymous reviewer: "Very well written. It is the clearest,
friendliest book I have come across yet for explaining Python, and
putting it in a wider context. It does not presume a large amount of
other experience. It may be too slow for more advanced people, but it
does go into some important Python topics carefully and in
depth. Unlike too many beginner books, it never condescends or
tortures the reader with childish hide-and-seek prose games. Not too
many in-depth real-world examples in the book [hopefully he will do a
followup volume], it sticks to gaining a solid grasp of Python syntax
and structure."
----
Web Programming in Python: Techniques for Integrating Linux, Apache, and MySQL,
George K. Thiruvathukal, John Shafaee and Thomas Christopher,
ISBN: 0130410659,
Prentice Hall,
450 pages (October 2001)

The book has introductory chapters on Python, networking, Apache, Linux, and MySQL. It is a self- contained reference to Python and open-source programming that makes use of Python to develop real applications that are also available under an open source license.
----
Programming With Python,
Tim Altom with Mitch Chapman,
ISBN: 0761523340,
Prima Publishing,
(October 1999)

[http://www2.linuxjournal.com/lj-issues/issue73/3851.html Review by Phil Hughes in Linux Journal]
[http://lists.tummy.com/pipermail/frpythoneers/2000-June/000085.html Review by Cary Miller]
----
Python Developer's Handbook,
Andre Lessa,
ISBN: 0672319942,
Sams,
600 pages (December 2000)
----
Python Annotated Archives,
Martin Brown,
ISBN: 0072121041,
McGraw-Hill,
September 1999


[[http://www.manning.com/getpage.html?project=harms&filename=Chapters.html|Two sample chapters]] [[http://www.accu.org/bookreviews/public/reviews/q/q002082.htm|Review by Francis Glassborow in _C Vu_]] [[http://www2.linuxjournal.com/lj-issues/issue73/3851.html|Review by Phil Hughes]] [[http://www.amk.ca/python/books/qpb.html|Review by AMK]]

A 2nd edition (complete rewrite moving it from Python 1.x to 3.x was published Jan 2010.

[[http://www.manning.com/ceder/|Publisher's page for The Quick Python Book, 2nd ed.]]

----
'''Learn to Program Using Python'''

 . Alan Gauld

ISBN:0201709384, Addison-Wesley, 270 pages (December, 2000)

This book teaches programming in Python to true beginners. It started as a popular Web tutorial, and been expanded into a complete book.

[[http://www.freenetpages.co.uk/hp/alan.gauld/index.htm|Home Page]]

----
'''Programming Python (Third Edition)'''

 . Mark Lutz

ISBN:0596009259, O'Reilly & Associates, 1596 pages (August, 2006)

A Python classic, updated and expanded to cover Python 2.5. The first edition, published in 1996, was the first Python book project to be signed. Programming Python is about what you can do with Python after you've mastered the language fundamentals - it assumes you already know the core language, and focuses on applications programming in gradual tutorial fashion. It is designed to be a natural follow-up to the book Learning Python. This book includes 300 pages on GUIs, 500 on Internet programming, and more on databases, systems programming, text processing, Python/C integration, and other topics. Also available in PDF form from O'Reilly.

[[http://www.oreilly.com/catalog/python3/|O'Reilly's catalog page]] [[http://www.rmi.net/~lutz/about-pp3e.html|Author's book page]] [[http://www.python.org/doc/essays/foreword.html|Foreword by Guido van Rossum]] [[http://www.ercb.com/ddj/1997/ddj.9711.html|Review of the first edition by Greg Wilson]] [[http://www.usenix.org/publications/login/1998-4/python.html|Review of the first edition by Terry Rooker in ;login:]] [[http://dannyreviews.com/h/Python.html|Review of the first edition by Danny Yee]]

----
'''Python Pocket Reference (Third Edition)'''

 . Mark Lutz

ISBN:0596009402, O'Reilly & Associates, 160 pages (February, 2005)

This handy reference guide summarizes Python statements, built-in functions, escape and formatting codes, and other prominent Python language features.

----
'''Python Standard Library'''

 . FredrikLundh

ISBN:0596000960, O'Reilly & Associates, 250 pages (February 2001)

Based in part on 3,000 newsgroup articles written by Python veteran FredrikLundh over the last four and half years, this book provides sample scripts for all standard modules in the Python library. Also available in German.

[[http://www.pythonware.com/people/fredrik/librarybook.htm|Author's book page]] [[https://web.archive.org/web/20201017142948/http://effbot.org/zone/librarybook-index.htm|Electronic edition (archived snapshot)]]

----
'''Web Programming in Python: Techniques for Integrating Linux, Apache, and MySQL'''

 . George K. Thiruvathukal, John Shafaee and Thomas Christopher

ISBN:0130410659, Prentice Hall, 450 pages (October 2001)

The book has introductory chapters on Python, networking, Apache, Linux, and MySQL. It is a self- contained reference to Python and open-source programming that makes use of Python to develop real applications that are also available under an open source license.

----
'''Programming With Python'''

 . Tim Altom with Mitch Chapman,

ISBN:0761523340, Prima Publishing, (October 1999)

[[http://www2.linuxjournal.com/lj-issues/issue73/3851.html|Review by Phil Hughes in Linux Journal]] [[http://lists.tummy.com/pipermail/frpythoneers/2000-June/000085.html|Review by Cary Miller]]

----
'''Python Developer's Handbook'''

 . Andre Lessa

ISBN:0672319942, Sams, 600 pages (December 2000)

----
'''Python How to Program'''

 . Harvey M Deitel, Paul J Deitel, Jonathan Liperi, Ben Wiedermann

ISBN:0130923613, Prentice Hall, 1376 pages (2002)

In the renowned Deitel series "How to Program"

[[http://vig.prenhall.com/catalog/academic/product/1,4096,0130923613,00.html|description]]

----
'''Text Processing in Python'''

 . David Mertz

The free text is available at:

http://gnosis.cx/TPiP/

Buy the dead-trees version at:

http://tinyurl.com/jskh

A review by Danny Yee at: http://dannyreviews.com/h/Text_Python.html

See also: TextProcessingInPython

----
'''Python Programming Patterns''' Thomas Christopher

Prentice-Hall, 2001

ISBN: 0130409561

There's a [[http://www.informit.com/articles/printerfriendly.asp?p=28672&rl=1|sample chapter]] at informIT

Reviews: [[http://www.accu.org/bookreviews/public/reviews/p/p003210.htm|ACCU review]] by Francis Glasborow; one of several books in Mertz's [[http://gnosis.cx/publish/programming/charming_python_b8.html|book roundup #3]]

----
'''Python First: Introduction to Computing with Python'''

Atanas Radenski

The 'Python First' digital pack provides a gentle introduction to computer science. It is more than a book: Ten self-contained online chapters consist of e-texts, slides, 62 labs, tens of sample programs, and online quizzes. The 'Python First' pack includes a wealth of detailed self-guided labs that you can complete on your own.

[[http://studypack.com/comp/course/view.php?id=232|Home Page]]

== Python 2 ==

'''Practical Programming (in Python)''' [[https://launchpad.net/practical-programming|"Practical Programming (in Python)"]] is meant as a first programming course and is tightly aligned with the [[http://www.otago.ac.nz|University of Otago]] introductory programming course called [[http://www.cs.otago.ac.nz/student/papers.php?name=COMP150|Practical Programming]]. The textbook is organized into 24 "lectures" that cover all the basics of programming (sequence, selection, iteration, functions etc), plus all the major data structures supplied by Python.

This textbook is a modified version of [[http://www.openbookproject.net/thinkcs/python/english2e/|"How to Think Like a Computer Scientist: Learning with Python 2nd Edition"]], by Jeffrey Elkner, Allen B. Downey and Chris Meyers.

----


== Books no longer available ==
----

'''How Would Pareto Learn Python!'''

[[http://www.testingperspective.com/?page_id=1889|Rahul Verma]]

Python is a very powerful high level object oriented language and has easy bindings with C,C++,Java etc. It can very well be the first and the only language needed by a software tester for routine test automation tasks as well as for building robust general purpose test automation frameworks.

This online book is written keeping beginners in Python in mind. It bridges the gap between very basic tutorials and comprehensive books.

The book is provided for free by [[http://www.talentreboot.com|Talent Reboot Trainings and Asessments]] and hosts the online version of the book as a part of its official website.

[[http://www.talentreboot.com/publications/book-how-would-pareto-learn-python/|Read Online Free Version - How Would Pareto Learn Python]]

CategoryPythonInEducation CategoryDocumentation

----


[[https://www.packtpub.com/packt/free-ebook/learning-python|Learning Python]] ('''Free eBook''')

By Fabrizio Romano

ISBN 13: 9781783551712 Packt Publishing 442 pages (December 2015)

'''Book Overview:'''

This book goes deeper than simply showing you how to build a Python app, giving you the fundamentals of Python programming that every developer needs to know to make the most of the language. Packed with tutorials and examples this title features everything from data structures, writing reusable code, testing, paradigms, and how Python can be adapted. This free eBook will help transform you from a complete beginner to someone ready to bring the best out of their projects.

 * Get Python up and running on Windows, Mac, and Linux in no time
 * Grasp the fundamental concepts of coding, along with the basics of data structures and control flow.
 * Write elegant, reusable, and efficient code in any situation
 * Understand when to use the functional or the object oriented programming approach
 * Create bulletproof, reliable software by writing tests to support your code
 * Explore examples of GUIs, scripting, data science and web applications
 * Learn to be independent, capable of fetching any resource you need, as well as dig deeper

'''Who this book is written for:'''

This book is meant for programmers who wants to learn Python programming from a basic to an expert level. The book is mostly self-contained and introduces Python programming to a new reader and can help him become an expert in this trade.

[[http://www.packtpub.com/packt/free-ebook/learning-python|Publisher's page]]

----

CategoryPythonWebsite CategoryPyCon2008 CategoryPythonInEducation

The books on this page are all general introductions to the Python language. Most of these books will contain a few chapters on particular applications such as GUI interfaces or Web programming, but won't go into great detail on any one topic; refer to the PythonBooks page for lists of application-specific books. Experienced programmers who prefer a brief and condensed introduction should look at the list of ReferenceBooks.


Essential Python for Machine Learning

Abhishek Singh

ISBN-13: 979-8852254672 572 Pages ((July 14, 2023)

Book Overview

"Essential Python for Machine Learning" is a comprehensive guide that equips readers with the fundamental Python programming skills necessary to kickstart their journey into the exciting world of machine learning. This book covers the essential topics and techniques required to understand and apply Python in the field of machine learning.

Starting with the basics of Python programming, readers learn about conditional statements, loops, data structures, and functions. The book then delves into important libraries like NumPy and Pandas, enabling readers to manipulate and analyze data efficiently. With a focus on practical application, readers explore topics such as file handling, regular expressions, and error handling, gaining essential skills for real-world machine learning projects.

Key Features:

1. Comprehensive coverage of Python programming fundamentals. 2. In-depth exploration of key libraries like NumPy and Pandas for data manipulation and analysis. 3. Practical application of Python concepts to real-world machine learning scenarios. 4. Clear explanations, illustrative examples, and practical exercises to enhance learning. 5. Suitable for beginners and those with some programming experience looking to enter the field of machine learning.

Whether you are a student, aspiring data scientist, or a Python enthusiast looking to venture into machine learning, "Essential Python for Machine Learning" provides the essential knowledge and skills needed to get started. Gain a strong foundation in Python programming and unlock the power of machine learning with this practical and accessible guide.


Master Python Using Version 3.11: Learn Python Like Never Before

Abhishek Singh

ISBN-13: 979-8385523276 385 Pages (First edition, March 2023)

Book Overview:

One of the most popular programming languages used nowadays is called Python. It has just become more potent with the addition of a few additional features in its most recent iteration. Yet, not everyone is aware of its potency. The goal of this book is to introduce readers to Python programming from scratch. You are welcome to learn Python Programming like never before, whether you are a computer science undergraduate or not, a school-going programming geek or a beginner. You'll discover everything there is to know about Python, including how to use it for programming, when to employ the much-touted walrus operator and other brand-new features of version 3.11. Many solved programs that were used as interview questions at various firms are included in the book. Understanding the typical mistakes and how to fix them are covered in a separate chapter. The difficult topics have been simplified and expressed in simple terms. Beginners and intermediate readers should read the book.


Python from the Very Beginning

John Whitington

ISBN-13: 978-0-9576711-5-7 238 Pages (Second edition, May 2023)

Also available as a DRM-free PDF or EPUB.

Book Overview:

In Python from the Very Beginning John Whitington takes a no-prerequisites approach to teaching a modern general-purpose programming language. Each small, self-contained chapter introduces a new topic, building until the reader can write quite substantial programs. There are plenty of questions and, crucially, worked answers and hints.

Python from the Very Beginning will appeal both to new programmers, and to experienced programmers eager to explore a new language. It is suitable both for formal use within an undergraduate or graduate curriculum, and for the interested amateur.

Second edition, fully updated in 2023.

Amazon printed and Kindle PDF and EPUB eBook


The Art of Clean Code: Best Practices to Eliminate Complexity and Simplify Your Life

Christian Mayer

Book Overview:

Most software developers waste thousands of hours working with overly complex code.

The eight core principles in The Art of Clean Code will teach you how to write clear, maintainable code without compromising functionality.

  1. Complexity Problem
  2. The 80/20 Principle
  3. Build a Minimal Viable Product
  4. Write Clean and Simple Code
  5. Premature Optimization is the Root of All Evil
  6. Flow
  7. Do One Thing Well (Unix)
  8. Less is More in Design

The book’s guiding principle is simplicity: reduce and simplify, then reinvest energy in the important parts to save you countless hours and ease the often onerous task of code maintenance.

Amazon: The Art of Clean Code


Python Dash: Build Data Analysis and Visualization Apps with Plotly

Adam Schroeder, Christian Mayer, and Ann Marie Ward

Book Overview:

Create stunning interactive dashboard applications in Python with the Dash visualization and data analysis tool. Build interfaces that make sense of your data, and make it pretty.

A swift and practical introduction to building interactive data visualization apps in Python, known as dashboards. You’ve seen dashboards before; think election result visualizations you can update in real time, or population maps you can filter by demographic. With the Python Dash library you’ll create analytic dashboards that present data in effective, usable, elegant ways in just a few lines of code.

The book is fast-paced and caters to those entirely new to dashboards. It will talk you through the necessary software, then get straight into building the dashboards themselves. You’ll learn the basic format of a Dash app by building a Twitter analysis dashboard that maps the number of likes certain accounts gained over time. You’ll build up skills through three more sophisticated projects. The first is a global analysis app that compares country data in three areas: the percentage of a population using the internet, percentage of parliament seats held by women, and CO2 emissions. You’ll then build an investment portfolio dashboard, and an app that allows you to visualize and explore machine learning algorithms.

In this book you will:

  • Create and run your first Dash apps
  • Use the pandas library to manipulate and analyze social media data
  • Use Git to download and build on existing apps written by the pros
  • Visualize machine learning models in your apps
  • Create and manipulate statistical and scientific charts and maps using Plotly

Dash combines several technologies to get you building dashboards quickly and efficiently. This book will do the same.

Amazon: Python Dash: Build Data Analysis and Visualization Apps with Plotly


Learn to Code by Solving Problems: A Python Programming Primer

Daniel Zingaro

Book Overview:

Learn to code, right now. No coding experience required.

Don't try to memorize Python syntax with the hope of using it one day. Learn Python for good while you solve programming problems.

You get line by line walkthroughs, “check your understanding” questions, practice examples with answers, instant and accurate feedback using convenient online websites, discussion of common errors, and more.

This isn’t just a Python book. You’ll definitely learn Python here. But you’ll also learn how to think and solve problems like programmers do. And you’ll learn why slow code is slow and how to write better, faster code. You’re building skills that will not only turn you into a Python programmer but will also help you with whatever programming language you might use in the future.


Leaving the Rat Race with Python: An Insider's Guide to Freelance Developing

Amazon Smile Link ;)

L. Rieger, C. Mayer

ASIN: B08G1XLDNB Finxter 233 Pages

Book Overview:

Leaving the Rat Race with Python shows you how to nurture, grow, and harness your work-from-home coding business online --- and live the good life!

As an insider's guide to freelance developing, Leaving the Rat Race helps you nurture, grow, and harness your new online coding business plant---even if you've got little or no experience as a programmer and business owner.

By following the instructions in this book, you'll create new joy, happiness, and a sense of independence and self-reliance. Because life's too short to work a company you don't believe in!

Kindle Amazon eBook PDF Book + Resources Python Freelancing


https://www.amazon.com/dp/1094777978

Abhishek Singh, Zohaib Hasan

ISBN-13: 978-1094777979 73 Pages (April 20, 2019)

Book Overview:

Awarded as one of the best books of regular expression in 2020 and 2021 by bookauthority.org. Regular Expression is one topic which is nightmare for many seasoned programmers also. And what better choice than Python could have been? An easy to understand language to explain an uneasy to understand topic. This book is designed for absolute beginners with elementary knowledge of Python language. Regular Expressions are considered as a tough topic and usually they are not covered in syllabus in much detail. Mostly, a chapter is given on this topic in syllabus or curriculum books. But here, a complete book is dedicated. This book covers Regular Expression in detail with plenty of examples covering password validation, email ID validation, string manipulations etc. and their step by step analysis. The examples are presented in such a way that one can feel like coding only by reading the codes itself. The book is written in a way to give stress free environment.

Learning Regular Expression Page


Actionable Python 3.8

Nat Dunn, Webucator

ISBN-13: 978-1951959029 536 Pages (March 15, 2020)

Book Overview:

Learning to program is hard. Don’t let anyone tell you different. If you bought or are considering buying this book because someone told you that you should learn Python, then maybe you should reconsider. The big question to ask yourself is “Do you want to learn Python?” Certainly, this book will help you answer that question, but be prepared to struggle, and to make mistakes, and to get frustrated, and to bang your head against the keyboard. This is Pandora’s box, baby, but…

If you get excited by solving hard problems… if you’re into Sudoku, or crosswords, or jigsaw puzzles, or if you’ll spend hours trying to figure out how to separate two metal looping thingamajigs that you found on someone’s shelf…, or you like tinkering with engines, or figuring out the best recipe for chocolate chip cookies… in other words, if you like a challenge, then you might love Python programming.It’s not easy, but it’s easy enough to get started. Pick up a book (good start!), and start going through it. Be patient with yourself. Pretend you’re the teacher as well as the student. When the student fails, the good teacher doesn’t insult or chastise. The good teacher encourages. The good teacher knows that failure is a part of learning, and that overcoming failure is exciting and leads to more learning. So, be a good teacher and treat yourself well.

But be a good student too. When reading this book, you should be sitting at your computer. When you first begin, plan to spend at least two uninterrupted hours. You should do your best to get through the first two lessons in the first sitting. That will get you through the foundational learning. From there on out, you’ll be hopping back and forth between the book and viewing, editing, and writing code. Go through the book slowly and methodically. Read every demo carefully. Work through every exercise. You cannot learn to code through reading alone. You must practice.

This book assume no prior knowledge of Python, but it introduces some pretty advanced topics, such as working with databases, scraping the web, and object-oriented Python.

Learning IoT Page



Learning IoT with Python and Raspberry Pi

E.I. Horvath E.A. Horvath

ISBN-13:9780578549361 760 Pages (September 1, 2019)

Book Overview:

The very nature of IoT requires a knowledge of a programming language and electronic circuits and a knowledge of networking in order to interface with the physical world and networking platforms. Learning IoT with Python and Raspberry Pi uses a cross-disciplinary approach when teaching IoT. Circuits which use light dependent resistors, LEDs, buzzers, passive infrared sensors, ultrasonic sensors, and other components will be used to explore and elucidate programming concepts. Users can monitor devices connected to the Raspberry Pi. Learning IoT with Python and Raspberry Pi allows the programmer to explore the Internet of Things (IoT) by writing code which will monitor temperature, pressure, humidity, and light levels and will determine when motion is detected, etc. Based upon these physical events, a text message is sent, an email is sent, a phone call is made, or a picture is taken.

  • 300+ code listings illustrate Python programming concepts.
  • Complete code listings in this textbook for all projects.
  • 250+ homework problems ranging from short Python scripts to web site configuration projects.
  • Labs on measuring voltage, current, and resistance using a multimeter.
  • Introduction to basic Linux commands.
  • Use the Sense HAT to read environmental data, such as temperature, pressure, and humidity.
  • Send a text message if the light level detected by an LDR circuit falls below a threshold.
  • Send an email if motion is detected using a PIR sensor circuit.
  • Use an ultrasonic sensor in a proximity alert circuit and make a phone call if an intruder gets too close.
  • Use a GPS HAT to get waypoints and store them in a file.
  • Use an analog to digital converter to read in data from sensors.
  • Control a servo using classes.
  • Take a picture with the Raspberry Pi Camera.
  • Install and configure an HTTP server with multiple virtual web sites.
  • Install and configure an FTP server.
  • Use SSH and VNC to remotely control the Raspberry Pi.
  • Create a virtual machine in the cloud.
  • Upload data to the cloud.
  • Learn how to write multi-threaded applications.
  • Play an audio file.
  • Control a robot using a multi-threaded application.

Learning IoT Page


The Python Coding Book: Understanding what programming really is

Stephen Gruppetta

Freely available online book

Book Overview:

The key to mastering programming is to truly understand why we do things in the way we do them. Learning the methods is not enough. My focus in the years I’ve spent teaching coding has been to get my students to think in the way the computer does. Only then can we speak its language. We need to understand the various tools in a coding language as if they’re our best friends, not just mere acquaintances. The focus of this book is real understanding. ‘Why’ is just as important a question as ‘How’. And I like analogies—a lot. So your journey through learning how to code will take you through The White Room and coffee machines, and you’ll even climb a tree! This book will start from the basics, and in its second part will start to move towards areas of programming relevant to fields such as science, finance, and other data-driven fields. The Table of contents of the book is the following:

  • 0 | How To Learn To Code: Preface
  • 1 | Getting Started: Your First Project
  • 2 | Loops, Lists and More Fundamentals
  • 3 | Power-up Your Coding: Create Your Own Functions
  • 4 | Data, Data Types, and Data Structures
  • 5 | Dealing With Errors and Bugs
  • ~ | The White Room: Understanding Programming
  • 6 | Functions Revisited
  • 7 | Object-Oriented Programming
  • 8 | Numerical Python for Quantitative Applications Using numpy
  • 9 | Dealing with Dates and Times in Python
  • 10 | Basics of Data Visualisation Using matplotlib
  • 11 | Functional Programming and Lambda Functions
  • 12 | Analysing Data Using pandas

The Python Coding Book: Understanding what programming really is


Python One-Liners

Christian Mayer

ASIN: B07ZY7XMX8 NoStarch 256 Pages (May 2020)

Book Overview:

Python programmers will improve their computer science skills with these useful one-liners

Python One-Liners will show readers how to perform useful tasks with one line of Python code. Following a brief Python refresher, the book covers essential advanced topics like slicing, list comprehension, broadcasting, lambda functions, algorithms, regular expressions, neural networks, logistic regression and more. Each of the 50 book sections introduces a problem to solve, walks the reader through the skills necessary to solve that problem, then provides a concise one-liner Python solution with a detailed explanation.

Book page (free material) Publisher's page


Learn Programming in Python with Cody Jackson

Cody Jackson

ISBN 13: 9781789531947 Packt 304 Pages (November 2018)

Book Overview:

Kick-start your development journey with this end-to-end guide that covers Python programming fundamentals along with application development

Python is a cross-platform language used by organizations such as Google and NASA. It lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. Based on his personal experiences when learning to program, Learn Programming in Python with Cody Jackson provides a hands-on introduction to computer programming utilizing one of the most readable programming languages–Python. It aims to educate readers regarding software development as well as help experienced developers become familiar with the Python language, utilizing real-world lessons to help readers understand programming concepts quickly and easily.

The book starts with the basics of programming, and describes Python syntax while developing the skills to make complete programs. In the first part of the book, readers will be going through all the concepts with short and easy-to-understand code samples that will prepare them for the comprehensive application built in parts 2 and 3. The second part of the book will explore topics such as application requirements, building the application, testing, and documentation. It is here that you will get a solid understanding of building an end-to-end application in Python. The next part will show you how to complete your applications by converting text-based simulation into an interactive, graphical user interface, using a desktop GUI framework. After reading the book, you will be confident in developing a complete application in Python, from program design to documentation to deployment.

Publisher's page


Python 3 Object-Oriented Programming - Third Edition

Dusty Phillips

ISBN 13: 9781789615852 Packt 466 Pages (October 2018)

Book Overview:

Uncover modern Python with this guide to Python data structures, design patterns, and effective object-oriented techniques

Starting with a detailed analysis of object-oriented programming, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. You will learn how to create maintainable applications by studying higher level design patterns. The book will show you the complexities of string and file manipulation, and how Python distinguishes between binary and textual data. Not one, but two very powerful automated testing systems, unittest and pytest, will be introduced in this book. You'll get a comprehensive introduction to Python's concurrent programming ecosystem.

By the end of the book, you will have thoroughly learned object-oriented principles using Python syntax and be able to create robust and reliable programs confidently.

Publisher's page


'Start Here: Python Programming for Beginners "Start Here: Python Programming for beginners" by Jody S. Ginther was written after the changes made in Python 3. It is aimed at total beginners and uses hands-on practice and humor to make learning to program more relaxing and enjoyable.


Software Development I: with Python

ISBN: 978-0-9754759-4-2, LCCN: 2010906917, 605 pages

"Software Development I: with Python"

Tom Baugh

This course introduces the student to Python, cultivating professional software development skills along the way. Yet, this course requires no prior programming knowledge to learn or to teach. Organized as sixty-four lessons, sixteen tests and two exams, for a total of 82 lecture units, this course covers the following topics:

  • Python variable, function, class and environment syntax.
  • Custom module development.
  • Software development skills and activities.
  • Python dictionaries, lists, tuples and iterable types.
  • Command console operations.
  • List comprehensions.
  • Python exception handling.
  • IPython operations and commands.
  • Essential built-in Python library features.
  • An introduction to Matplotlib.
  • An introduction to wxPython and windowed development.

By the end of the course, students will have learned how to write Python projects, including custom classes and modules. The course culminates with an exploration of windowed application development, including a bitmapped graphics project. The course material includes the student text and CD-ROM with instructor's guide for each lesson, tests, exams, solutions guide for exercises, tests and exams, student handouts and completed projects for each lesson. The format of the course is intended to support classroom use, homeschool use, or self-study.


Python Programming in Context

Bradley N. Miller and David L Ranum

Python Programming in Context is a clear, accessible introduction to the fundamental programming and problem solving concepts necessary for students at this level. The authors carefully build upon the many important computer science concepts and problem solving techniques throughout the text and offer relevant, real-world examples and exercises to reinforce key material. Programming skills throughout the text are linked to applied areas such as Image Processing, Cryptography, Astronomy, Music, the Internet, and Bioinformatics, giving students a well rounded look of its capabilities.

dead link

http://www.jbpub.com/catalog/9780763746025/


Python First: The Joy of Success

Atanas Radenski

ISBN: 978159526-713-9, 512 pages, Llumina Press, April 2007

This book is a paper companion to the "Python First" digital pack from studypack.com. The complete digital study pack features e-texts, slides, a wealth of detailed self-guided labs that learners can complete on their own, sample programs, and extensive quizzes. The book offers a printed version of the e-texts and self-guided labs in the same format as they appear in the online digital pack.

Publisher's page


Building Skills in Python

Steven F. Lott

How do you learn Python? By doing a series of exercises, each of which adds a single new feature of the language. This 250+ page book has 31 chapters that will help you build Python programming skills through a series of exercises. This book includes six projects from straight-forward to sophisticated that will help solidify your Python skills.

http://homepage.mac.com/s_lott/books/python.html


Building Skills in Programming How To Write Your Own Software Using Python

Steven F. Lott

How do you learn to solve your own programs by writing programs? By doing a series of exercises, each of which builds up a part of the skill set we call "computer programming". This book has 54 chapters that will help you build basic programming skills through a series of exercises that grow from simple identification of the parts of your computer through to statistical simulations.

http://homepage.mac.com/s_lott/books/nonprogrammer.html


A Byte of Python

  • Swaroop C H

A Byte of Python is a book on programming using the Python language. It serves as a tutorial or guide to the Python language for anyone. If all you know is how to save text files, then you can learn Python using this book. If you are an expert programmer who loves C, Perl, Java or C#, you can also learn Python using this book.

This book can be read online or downloaded from http://www.swaroopch.com/notes/Python


Practical Python

  • Magnus Lie Hetland

1590590066, 619 pages, APress (August 2002)

The first half of this book introduces the Python language, and the second half demonstrates its usage in various practical projects such as "automated document conversion, newsgroup administration, graphical PDF document generation, remote document maintenance, the creation of a peer-to-peer system with XML-RPC, database integration, and GUI and game development." A new edition of this book is available under the title Beginning Python: From Novice to Professional.

Publisher's page


Beginning Python: From Novice to Professional

  • Magnus Lie Hetland

1-59059-519-x, 640 pages, APress (September 2005)

This is an update of Practical Python.

Publisher's page


Computer Programming is Fun!

  • David Handy

208 pages, Handy Software and Publishing (April 2005)

Written by a homeschooling Dad for teenage youth, this introductory computer programming book is for people who have no prior programming experience. Teaches the basic principles of programming using Python, with lots of examples. Small video game project at the end. Good for self-study or classroom use.

http://www.handysoftware.com/cpif/


Python Programming for the Absolute Beginner

  • Michael Dawson

1592000738 Premier Press, 456 pages (2003)

Simple intro accessible for beginners. Very hands-on and fun, utilizes development of games to teach each concept. Great for visual and hands-on learners alike.

Publisher's page




The Python Apprentice

Robert Smallshire, Austin Bingham

ISBN 13: 9781788293181 Packt Publishing 352 pages (June 2017)

Book Overview:

Before you master Python, you need to learn the culture and the tools to become a productive member of any Python project. This book will give you a practical and thorough introduction to Python programming, providing you with the insight and technical craftsmanship you need to be a productive member of any Python project. As a Python developer, know the tools, basic idioms and of course the ins and outs of the language, the standard library and other modules to be able to jump into most projects.

What you will learn:

  • Learn the language of Python itself
  • Get a start on the Python standard library
  • Learn how to integrate 3rd party libraries
  • Develop libraries on your own
  • Become familiar with the basics of Python testing

Publisher's page


Learn Python in 7 Days

Mohit, Bhaskar N. Das

ISBN 13: 9781787288386 Packt Publishing 280 pages (May 2017)

Book Overview:

Python is a great language to get started in the world of programming and application development. This book will help you to take your skills to the next level having a good knowledge of the fundamentals of Python.

Begin with the absolute foundation, covering the basic syntax, type variables and operators. Then you can move on to concepts like statements, arrays, operators, string processing and I/O handling. You’ll be able to learn how to operate tuples and understand the functions and methods of lists. Develop a deep understanding of list and tuples and learn python dictionary. As you progress through the book, you’ll learn about function parameters and how to use control statements with the loop. You’ll further learn how to create modules and packages, storing of data as well as handling errors. Later, dive into advanced level concepts such as Python collections and how to use class, methods, objects in Python.

By the end of this book, you will be able to take your skills to the next level having a good knowledge of the fundamentals of Python.

What you will learn:

  • Use if else statement with loops and how to break, skip the loop
  • Get acquainted with python types and its operators
  • Create modules and packages
  • Learn slicing, indexing and string methods
  • Explore advanced concepts like collections, class and objects
  • Learn dictionary operation and methods
  • Discover the scope and function of variables with arguments and return value

Publisher's page


What You Need to Know about Machine Learning (Free eBook)

By Gabriel A. Cánepa

ISBN 13: 9781786466211 Packt Publishing (July 2016)

Book Overview:

This book offers you the perfect place to lay the foundation for your work in the world of Machine Learning, providing the basic understanding, knowledge, and skills that you can build on with experience and time.

  • Discover the various forms Machine Learning, and take that which will benefit you the most
  • Pick up the Python tools you need to know: from pandas to scikit-learn
  • Learn the relationship between machine learning and big data
  • Understand and identify potential real-world scenarios where machine learning can be applied
  • Lay the foundations to get started in the wide world of machine learning

Publisher's Page


What You Need to Know about Python (Free eBook)

By Pierluigi Riti

ISBN 13: 9781786465566 Packt Publishing (March 2016)

Book Overview:

With this book you’ll experience the basics of Python, what it can be used for, and get a clear direction in what you need to really get the most from this great language.

  • Discover the state of Python in 2016 and what it means for you
  • Begin learning about the basics and unique features of Python
  • Take on the world of cloud and web development with Django
  • Let Jupyter handle your data visualization
  • Get an introduction to the world of DevOps

Publisher's Page


Learn Python

By Ana Bell

  • Manning Publications Co
  • ISBN 9781617293788, 456 pages, printed in black & white

  • Published Spring 2018

Book overview:

When you're ready to learn to program, Python is a great language to start with. It has a straightforward syntax, you'll find it easy to learn, and it's extremely versatile. Once you master the basics, you'll appreciate Python's very strong online community where you can continue learning and tinkering with more advanced programming techniques. All you need is some help to get going. Learning to program with Python doesn't have to be difficult, in fact it can even be fun. This book will get you started!

Learn Python is an introduction to programming using one of the most popular programming languages. The first few chapters give you a quick background to programming concepts and a hands-on guide to setting up your programming environment. You will then be gently introduced to the basics of programming, building up to writing your first programs! This easy-to-follow tutorial is full of exercises to practice and reinforce each new concept, as well as to give you confidence that you are ready to move on to the next lesson. As you progress, you'll learn programming topics and concepts that are ubiquitous across almost all other programming languages. By the end of the book, you'll have a solid grasp of how to write programs as well as programming best practices.

Who this book is written for:

Anyone without programming experience who wants an easy-to-follow book that guides you through short lessons and exercises.

Chapter 4 available for free: Variables and Expressions: Giving Names and Values to Things

Chapter 30 available for free: Making your own Object Types


The Quick Python Book, 3rd Edition

By Naomi Ceder

  • Manning Publications Co
  • ISBN 9781617294037 400 pages (estimated)
  • MEAP began December 2016, Publication in Spring 2017 (estimated)

MEAP: early access to chapters as they are being written, available at the Manning Publications web site: The Quick Python Book, 3rd Edition

Book overview:

This third revision of Manning's popular The Quick Python Book offers a clear, crisp updated introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this latest edition includes new exercises throughout. It covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

After exploring Python's syntax, control flow, and basic data structures, the book shows how to create and deploy full applications and larger code libraries. It addresses established Python features as well as the advanced object-oriented options available in Python 3. Along the way, you'll survey the current Python development landscape, including Pythonic best practices, data extraction and cleaning, database access, and web frameworks.

Who this book is written for:

This book is for someone who knows how to program, who whats to learn Python quickly and efficiently.

Chapter 1 available for free: About Python


Python Machine Learning Cookbook

By Prateek Joshi

ISBN 13: 9781786464477 Packt Publishing 304 pages (June 2016)

Book overview:

Machine learning is becoming increasingly pervasive in the modern data-driven world. It is used extensively across many fields such as search engines, robotics, self-driving cars, and more. With this book, you will learn how to perform various machine learning tasks in different environments. We’ll start by exploring a range of real-life scenarios where machine learning can be used, and look at various building blocks. Throughout the book, you’ll use a wide variety of machine learning algorithms to solve real-world problems and use Python to implement these algorithms. You’ll discover how to deal with various types of data and explore the differences between machine learning paradigms such as supervised and unsupervised learning. We also cover a range of regression techniques, classification algorithms, predictive modeling, data visualization techniques, recommendation engines, and more with the help of real-world examples.

  • Explore classification algorithms and apply them to the income bracket estimation problem
  • Use predictive modeling and apply it to real-world problems
  • Understand how to perform market segmentation using unsupervised learning
  • Explore data visualization techniques to interact with your data in diverse ways
  • Find out how to build a recommendation engine
  • Understand how to interact with text data and build models to analyze it
  • Work with speech data and recognize spoken words using Hidden Markov Models
  • Analyze stock market data using Conditional Random Fields
  • Work with image data and build systems for image recognition and biometric face recognition
  • Grasp how to use deep neural networks to build an optical character recognition system

Who this book is written for:

This book is for Python programmers who are looking to use machine-learning algorithms to create real-world applications. This book is friendly to Python beginners, but familiarity with Python programming would certainly be useful to play around with the code.

Publisher's page


Modular Programming with Python

By Erik Westra

ISBN 13: 9781785884481 Packt Publishing 246 pages (May 2016)

Book overview:

This book will help readers develop readable, reliable, and maintainable programs in Python. Starting with an introduction to the concept of modules and packages, this book shows how you can use these building blocks to organize a complex program into logical parts and make sure those parts are working correctly together. Using clearly written, real-world examples, this book demonstrates how you can use modular techniques to build better programs. A number of common modular programming patterns are covered, including divide-and-conquer, abstraction, encapsulation, wrappers and extensibility. You will also learn how to test your modules and packages, how to prepare your code for sharing with other people, and how to publish your modules and packages on GitHub and the Python Package Index so that other people can use them. Finally, you will learn how to use modular design techniques to be a more effective programmer.

  • Learn how to use modules and packages to organize your Python code
  • Understand how to use the import statement to load modules and packages into your program
  • Use common module patterns such as abstraction and encapsulation to write better programs
  • Discover how to create self-testing Python packages
  • Create reusable modules that other programmers can use
  • Learn how to use GitHub and the Python Package Index to share your code with other people

  • Make use of modules and packages that others have written
  • Use modular techniques to build robust systems that can handle complexity and changing requirements over time

Who this book is written for:

This book is intended for beginner to intermediate level Python programmers who wish to learn how to use modules and packages within their programs. While readers must understand the basics of Python programming, no knowledge of modular programming techniques is required.

Publisher's page


The Coder's Apprentice: Learning programming with Python 3

By Pieter Spronck

~400 pages (July 2016)

Book overview:

"The Coder's Apprentice" is a course book, aimed at teaching Python 3 to students and teenagers who are completely new to programming. Contrary to many of the other books that teach Python programming, this book assumes no previous knowledge of programming on the part of the students, and contains numerous exercises that allow students to train their programming skills.

The book covers all imperative programming and object oriented programming aspects of Python 3, including:

  • Installing, writing, and running Python
  • Expressions, variables, conditions, loops, and functions
  • Strings, tuples, lists, dictionaries, and sets
  • Text files, binary files, and exceptions
  • Object orientation, operator overloading, inheritance, iterators, and generators
  • Regular expressions

The book also spends time on algorithm design and writing effective code.

The book is freely available as PDF.


Learning Python for Forensics

By Preston Miller, Chapin Bryce

ISBN 13: 9781783285235 Packt Publishing 488 pages (May 2016)

Book overview:

This book will illustrate how and why you should learn Python to strengthen your analysis skills and efficiency as you creatively solve real-world problems through instruction-based tutorials. The tutorials use an interactive design, giving you experience of the development process so you gain a better understanding of what it means to be a forensic developer.

  • Discover how to perform Python script development.
  • Update yourself by learning the best practices in forensic programming.
  • Build scripts through an iterative design.
  • Explore the rapid development of specialized scripts.
  • Understand how to leverage forensic libraries developed by the community.
  • Design flexibly to accommodate present and future hurdles.
  • Conduct effective and efficient investigations through programmatic pre-analysis.

Who this book is written for:

If you are a forensics student, hobbyist, or professional that is seeking to increase your understanding in forensics through the use of a programming language, then this book is for you.You are not required to have previous experience in programming to learn and master the content within this book. This material, created by forensic professionals, was written with a unique perspective and understanding of examiners who wish to learn programming.

Publisher's page


Practical Data Analysis Cookbook

By Tomasz Drabas

ISBN 13: 9781783551668 Packt Publishing 384 pages (April 2016)

Book overview:

This book provides a rich set of independent recipes that dive into the world of data analytics and modeling using a variety of approaches, tools, and algorithms. You will learn the basics of data handling and modeling, and will build your skills gradually toward more advanced topics such as simulations, raw text processing, social interactions analysis, and more.

  • Read, clean, transform, and store your data usng Pandas and OpenRefine.

  • Understand your data and explore the relationships between variables using Pandas and D3.js.
  • Explore a variety of techniques to classify and cluster outbound marketing campaign calls data of a bank using Pandas, mlpy, NumPy, and Statsmodels.

  • Reduce the dimensionality of your dataset and extract the most important features with pandas, NumPy, and mlpy.

  • Predict the output of a power plant with regression models and forecast water flow of American rivers with time series methods using pandas, NumPy, Statsmodels, and scikit-learn.

  • Explore social interactions and identify fraudulent activities with graph theory concepts using NetworkX and Gephi.
  • Scrape Internet web pages using urlib and BeautifulSoup and get to know natural language processing techniques to classify movies ratings using NLTK .

  • Study simulation techniques in an example of a gas station with agent-based modeling.

Who this book is written for:

This hands-on recipe guide is divided into three sections that tackle and overcome real-world data modeling problems faced by data analysts/scientist in their everyday work. Each independent recipe is written in an easy-to-follow and step-by-step fashion.

Publisher's page


Python Projects for Kids

Jessica Ingrassellino

ISBN: 9781782175063

192 pages, April 2016, Packt Publishing

Kids are always the most fast-paced and enthusiastic learners, and are naturally willing to build stuff that looks like magic at the end (when it works!). Programming can be one such magic. Being able to write a program that works helps them feel they've really achieved something. Kids today are very tech-savvy and cannot wait to enter the fast-paced digital world.

Because Python is one of the most popular languages and has a syntax that is quite simple to understand, even kids are eager to use it as a stepping stone to learning programming languages.

This book covers projects that are simple and fun, and teach kids how to write Python code that works.

The book will teach the basics of Python programming, installation, and so on and then will move on to projects. A total of three projects, with each and every step explained carefully, without any assumption of previous experience.

What You Will Learn:

  • Start fiddling with Python's variables, build functions and interact with users
  • Build your own calculator using the Math Library
  • Train Python to make logical decisions
  • Work with moving 2D objects on-screen
  • Understand the Pygame Library and build your very own game!

This book is for kids (aged 10 and over). This is book is intended for absolute beginners who lack any knowledge of computing or programming languages and want to get started in the world of programming.


Learn to Program with Minecraft

Craig Richardson

ISBN: 978-1-59327-670-6

304 pages, December 2015, No Starch Press

You’ve bested creepers, traveled deep into caves, and maybe even gone to The End and back—but have you ever transformed a sword into a magic wand? Built a palace in the blink of an eye? Designed your own color-changing disco dance floor?

In Learn to Program with Minecraft®, you’ll do all this and more with the power of Python, a free language used by millions of professional and first-time programmers!

Begin with some short, simple Python lessons and then use your new skills to modify Minecraft to produce instant and totally awesome results. Learn how to customize Minecraft to make mini-games, duplicate entire buildings, and turn boring blocks into gold.

You’ll also write programs that:

  • Take you on an automated teleportation tour around your Minecraft world
  • Build massive monuments, pyramids, forests, and more in a snap!
  • Make secret passageways that open when you activate a hidden switch
  • Create a spooky ghost town that vanishes and reappears elsewhere
  • Show exactly where to dig for rare blocks
  • Cast a spell so that a cascade of flowers (or dynamite if you’re daring!) follows your every move
  • Make mischief with dastardly lava traps and watery curses that cause huge floods

Whether you’re a Minecraft megafan or a newbie, you’ll see Minecraft in a whole new light while learning the basics of programming. Sure, you could spend all day mining for precious resources or building your mansion by hand, but with the power of Python, those days are over!

Requires: Windows 7 or later; OS X 10.10 or later; or a Raspberry Pi.

Uses Python 3


Automate the Boring Stuff with Python

Al Sweigart

ISBN: 978-1-59327-599-0

504 pages, April 2015, No Starch Press

If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?

In Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required. Once you’ve mastered the basics of programming, you’ll create Python programs that effortlessly perform useful and impressive feats of automation to:

  • Search for text in a file or across multiple files
  • Create, update, move, and rename files and folders
  • Search the Web and download online content
  • Update and format data in Excel spreadsheets of any size
  • Split, merge, watermark, and encrypt PDFs
  • Send reminder emails and text notifications
  • Fill out online forms

Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.

Don’t spend your time doing work a well-trained monkey could do. Even if you’ve never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python.

Note: The programs in this book are written to run on Python 3.


Doing Math with Python

Amit Saha

ISBN: 978-1-59327-640-9

264 pages, August 2015, No Starch Press

In Doing Math with Python you'll learn to how to use the Python programming language as a tool to delve into math concepts. Python is easy to learn, and it's perfect for exploring topics like statistics, geometry, probability, and calculus. You’ll learn to write programs to find derivatives, solve equations graphically, manipulate algebraic expressions, even examine projectile motion.

Rather than crank through tedious calculations by hand, you'll learn how to use Python functions and modules to handle the number crunching while you focus on the principles behind the math. Exercises throughout teach fundamental programming concepts, like using functions, handling user input, and reading and manipulating data. As you learn to think computationally, you'll discover new ways to explore and think about math, and gain valuable programming skills that you can use to continue your study of math and computer science.

If you’re interested in math but have yet to dip into programming, you’ll find that Python makes it easy to go deeper into the subject—let Python handle the tedious work while you spend more time on the math.

Suggested for ages 14 and up.


Python Crash Course

Eric Matthes

ISBN: 978-1-59327-603-4

624 pages, November 2015, No Starch Press

Solve Problems, Make Things, and Do Cool Stuff!

Python Crash Course is a fast-paced and thorough introduction to Python that will have you writing programs, solving problems, and making things that work, fast.

In the first half of the book you’ll learn basic programming concepts, from installing Python to testing code, including how to use a text editor, write clean and readable code, store data in lists and dictionaries, create classes that simulate real-life objects, and write loops to perform actions on your data. You’ll also learn how to make your programs interactive and test your code safely before adding it to your project. The exercises in chapters will help cement your learning so you can put that knowledge into practice in the second half, with three substantial projects: a Space-Invaders-inspired arcade game, data visualization with Python’s super-handy libraries, and a simple Web app you can deploy online.

As you work through Python Crash Course you’ll learn how to:

  • Make games that respond to buttons and mouse clicks, and grow more difficult as you progress
  • Work with data and generate interactive visualizations
  • Utilize the most useful Python libraries and tools, including: matplotlib, numpy, and pygal
  • Create and customize Web apps and deploy them safely online
  • Deal with mistakes and errors, to better prepare you for solving your own programming problems later

Python Crash Course will teach you just what you need to know to start programming meaningful things quickly.

Uses Python 2 and 3


Python for Kids

Jason Briggs

ISBN: 978-1-59327-407-8

344 pages, December 2012, No Starch Press

The code in this book runs on almost anything: Windows, Mac, Linux, even an OLPC laptop or Raspberry Pi!

Python is a powerful, expressive programming language that’s easy to learn and fun to use! But books about learning to program in Python can be kind of dull, gray, and boring, and that’s no fun for anyone.

Python for Kids brings Python to life and brings you (and your parents) into the world of programming. The ever-patient Jason R. Briggs will guide you through the basics as you experiment with unique (and often hilarious) example programs that feature ravenous monsters, secret agents, thieving ravens, and more. New terms are defined; code is colored, dissected, and explained; and quirky, full-color illustrations keep things on the lighter side.

Chapters end with programming puzzles designed to stretch your brain and strengthen your understanding. By the end of the book you’ll have programmed two complete games: a clone of the famous Pong and “Mr. Stick Man Races for the Exit”—a platform game with jumps, animation, and much more.

As you strike out on your programming adventure, you’ll learn how to:

  • 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

Why should serious adults have all the fun? Python for Kids is your ticket into the amazing world of computer programming.

For kids ages 10+ (and their parents).

Featuring original artwork by Miran Lipovača!


Teach Your Kids to Code

Bryson Payne

ISBN: 978-1-59327-614-0

336 pages, April 2015, No Starch Press

Teach Your Kids to Code is a parent's and teacher's guide to teaching kids basic programming and problem solving using Python, the powerful language used in college courses and by tech companies like Google and IBM.

Step-by-step explanations will have kids learning computational thinking right away, while visual and game-oriented examples hold their attention. Friendly introductions to fundamental programming concepts such as variables, loops, and functions will help even the youngest programmers build the skills they need to make their own cool games and applications.

Whether you've been coding for years or have never programmed anything at all, Teach Your Kids to Code will help you show your young programmer how to:

  • Explore geometry by drawing colorful shapes with Turtle graphics
  • Write programs to encode and decode messages, play Rock-Paper-Scissors, and calculate how tall someone is in Ping-Pong balls
  • Create fun, playable games like War, Yahtzee, and Pong
  • Add interactivity, animation, and sound to their apps

Teach Your Kids to Code is the perfect companion to any introductory programming class or after-school meet-up, or simply your educational efforts at home. Spend some fun, productive afternoons at the computer with your kids—you can all learn something!


Python for complete beginners

Dr. Martin Jones

ISBN: 978-1514376980

246 pages, 2015

Getting started with programming can be an intimidating challenge. Most books and tutorials assume lots of previous knowledge, skip over jargon and new concepts, and use examples that only make sense if you already understand programming.

This book is different. It gives you an introduction to programming in Python from the ground up, starting with tips on installation and setting up your programming environment, and moving through the core parts of the Python language in a logical order. Dr. Jones has drawn on his many years experience teaching programming to produce a book that will guide you through the language step by step in simple terms.

The book doesn't assume any previous knowledge, and introduces fundamental programming concepts like variables, loops and functions using simple terms and easy-to-follow examples that you can run and modify.

The book takes a unique approach to practical exercises. Rather than simply presenting you with the solutions, it shows you how large, complex programs are gradually built up from simple building blocks, explaining the role of every line. You can download the examples and exercise solutions - edit, modify and run them yourself.

Examples and exercise files available at the author's website: Python for complete beginners


Geoprocessing with Python

Chris Garrard

Manning Publications ISBN: 9781617292149, 400 pages, MEAP Began May 2014

Geospatial data is hard to ignore. Nearly every car, phone, or camera has a GPS sensor, and aerial photos, satellite imagery, and data representing political boundaries, roads, rivers, and streams are available for free download from many websites. Geoprocessing is the science of reading, analyzing, and presenting geospatial data programmatically. The Python language, along with dozens of open source libraries and tools, makes it possible to take on professional geoprocessing tasks without investing in expensive proprietary packages like ArcGIS and MapInfo.

Geoprocessing with Python teaches you how to use the Python programming language along with free and open source tools to read, write, and process geospatial data. You'll learn how to access available data sets to make maps or perform your own analyses using free and open source tools like the GDAL, Shapely, and Fiona Python modules. You'll master core practices like handling multiple vector file formats, editing and manipulating geometries, applying spatial and attribute filters, working with projections, and performing basic analyses on vector data. You'll also learn how to create geospatial data, rather than just consuming it. The book also covers how to manipulate and analyze raster data, such as aerial photographs, satellite images, and digital elevation models.

Chapter one available for free: Introduction

MEAP Available at Manning Publications's Site: Geoprocessing with Python


Algorithms and Programming Course

Guilherme Soares Lima

(2015, 100 pages)

The book is a gentle introtuction to algorithms and programming with Python, specially for those that don't know how to program on any language. It has a progressive approach, it covers most of basic topics like programming logics, repetition structures. It is a small book, but yet a powerful tool for learning. It helps get good orientation from the beginning. It has only 100 pages and it's free.


Fundamentals of Python: First Programs

Ken Lambert

ISBN 13: 978-1-111-82270-5 (2012, 510 pages)

An introduction to programming and problem solving with Python (CS1). Covers algorithmic problem solving, basic data structures, functional design, and object-oriented design. Also includes an introduction to turtle graphics, image processing, GUIs, and networks.

  1. Introduction.
  2. Data Types and Expressions.
  3. Control Statements.
  4. Strings and Text Files.
  5. Lists and Dictionaries.
  6. Design with Functions.
  7. Simple Graphics and Image Processing.
  8. Design with Classes.
  9. Graphical User Interfaces.
  10. Multithreading, Networks, and Client/Server Programming.

Link to example programs and other information at the author's website.


Fundamentals of Python: Data Structures

Ken Lambert

ISBN 13: 978-1-285-75200-6 (2014, 496 pages)

An introduction to Python with data structures (CS2). Covers the design of collection classes with polymorphism and inheritance, multiple implementations of collection interfaces, and the analysis of space/time tradeoffs of different collections, all within a realistic collection framework.

  1. Basic Python Programming.
  2. An Overview of Collections.
  3. Searching, Sorting, and Complexity Analysis.
  4. Arrays and Linked Structures.
  5. Interfaces, Implementations, and Polymorphism.
  6. Inheritance and Abstract Classes.
  7. Stacks.
  8. Queues.
  9. Lists.
  10. Trees.
  11. Sets and Dictionaries.
  12. Graphs.

Link to example programs and other information at the author's website.


Easy GUI Programming in Python

Ken Lambert

ISBN-13: 978-0-9859567-0-7 (August, 2012, 110 pages, ebook only)

An introduction to GUI programming in Python. Topics include the basics of window layout, widget configuration, and responding to user events. The book uses a toolkit, breezypythongui, to explore GUI concepts and resources within a simple coding framework.

  1. The Hello World Program
  2. Windows, Layouts, and Window Components
  3. Command Buttons and Responding to Events
  4. Input and Output with Data Fields
  5. Error Handling and Message Boxes
  6. The Model/View/Controller Pattern
  7. Check Buttons, Radio Buttons, and Menus
  8. Scrolling List Boxes
  9. Text Areas and File Dialogs
  10. Dialogs
  11. Canvases and Graphics Operations
  12. Responding to Mouse Events in Canvases

Link to example programs and ebook vendor sites at the author's website.


Building Machine Learning Systems with Python

By Willi Richert, Luis Pedro Coelho

ISBN 13: 9781782161400 Packt Publishing 290 pages (July 2013)

Master the art of machine learning with Python and build effective machine learning systems with this intensive hands-on guide

  • Master Machine Learning using a broad set of Python libraries and start building your own Python-based ML systems
  • Covers classification, regression, feature engineering, and much more guided by practical examples
  • A scenario-based tutorial to get into the right mind-set of a machine learner (data exploration) and successfully implement this in your new or existing projects

Who this book was written for

This book is for Python programmers who are beginners in machine learning, but want to learn Machine learning. Readers are expected to know Python and be able to install and use open-source libraries. They are not expected to know machine learning, although the book can also serve as an introduction to some Python libraries for readers who know machine learning. This book does not go into the detail of the mathematics behind the algorithms.

This book primarily targets Python developers who want to learn and build machine learning in their projects, or who want to provide machine learning support to their existing projects, and see them getting implemented effectively.

Publisher's page


Learning to Program Using Python

Cody Jackson

ISBN: 1461182050 (November 2011, 230 pages)

An introduction to computer programming, using the easy, yet powerful, Python programming language. Python, a cross-platform language used by such organizations as Google and NASA, lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. The core Python language (both versions 2.x and 3.x) is discussed, as well as an introduction to graphical user interface creation.

The ideas covered in this book provide the reader with many major programming topics, applicable to a wide variety of programming languages. After reading this book, the reader should be able to quickly create simple to medium-level programs and be prepared to tackle more complex programming tasks.

Print version

Kindle version (no DRM)

The book's website also provides alternative electronic versions for free, without DRM. In addition, source code files for programs shown in the book are also available.


Python 2.6 Text Processing Beginner's Guide

Jeff McNeil

ISBN 13: 978-1-84951-212-1 Packt Publishing 380 pages (December 2010)

The easiest way to learn how to manipulate text with Python:

  • The easiest way to learn text processing with Python
  • Deals with the most important textual data formats you will encounter
  • Learn to use the most popular text processing libraries available for Python
  • Packed with examples to guide you through

Publisher's page


Learning Python, 5th Edition

(Mark Lutz, O'Reilly Media, June 2013, 1600 pages)

An in-depth, tutorial introduction to Python core language fundamentals, based on 260 live classes taught by the author. This edition is updated to cover both Python 3.X and 2.X. It is specifically based on 3.3 and 2.7, but is applicable to other releases.

Links: author, publisher.


Programming Python, 4th Edition

(Mark Lutz, O'Reilly Media, December 2010, 1600 pages)

An in-depth, tutorial introduction to common Python application programming domains, and a follow-up to the core language coverage of Learning Python. This edition is updated to use Python 3.X (3.1 and 3.2 specifically), but is still largely applicable to most 2.X readers.

Links: author, publisher.


Python Pocket Reference, 4th Edition

(Mark Lutz, O'Reilly Media, September 2009, 200 pages)

A reference-only book, designed to serve as a companion to both Learning Python and Programming Python. This edition is updated to cover both Python 3.X and 2.X. It is specifically based on 3.1 and 2.6, but is applicable to other releases.

Links: author, publisher.


Head First Python by Paul Barry

  • Published by: O'Reilly Media, November 2010, 496 pages.
  • Print ISBN: 978-1-4493-8267-4, ISBN 10: 1-4493-8267-3
  • Ebook ISBN: 978-1-4493-8268-1, ISBN 10: 1-4493-8268-1

Head First Python

Ever wished you could learn Python from a book? Head First Python helps you learn the language through a unique method that goes beyond syntax and how-to manuals. You'll quickly grasp Python's fundamentals, then move on to persistence, exception handling, web development, SQLite, data wrangling, and Google App Engine. You'll also learn how to write mobile apps for Android, all thanks to the power that Python gives you. Head First Python is a complete learning experience that will help you become a bona fide Python programmer.

This book is designed to get you up to speed with Python as quickly as possible.

See http://python.itcarlow.ie and http://www.headfirstlabs.com/books/hfpython/ for more details.


Practical Programming by Jennifer Campbell, Paul Gries, and Jason Montojo

Practical Programming (2nd edition): An Introduction to Computer Science Using Python 3

  • ISBN: 978-1-93778-545-1
  • 350 pages, August 2013

Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer.


Practical Programming by Jennifer Campbell, Paul Gries, Jason Montojo, and Greg Wilson

Practical Programming: An Introduction to Computer Science Using Python

  • ISBN: 978-1-93435-627-2
  • 350 pages, Apr 2009

Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer.


Python 3 Object Oriented Programming

Dusty Phillips

ISBN-13: 978-1-849511-26-1 Packt Publishing 404 pages (July 2010)

Harness the power of Python 3 objects:

Overview of Python 3 Object Oriented Programming

  • Learn how to do Object Oriented Programming in Python using this step-by-step tutorial
  • Design public interfaces using abstraction, encapsulation, and information hiding
  • Turn your designs into working software by studying the Python syntax
  • Raise, handle, define, and manipulate exceptions using special error objects
  • Implement Object Oriented Programming in Python using practical examples

Who this book is written for 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.

Publisher's page


The Practice of Computing Using Python by Bill Punch and Rich Enbody

  • ISBN-10: 0136110673
  • ISBN-13: 9780136110675
  • Addison-Wesley, 696 pp, 02/25/2010

The Computer Science Department of Michigan State University converted their Introduction to Programming Course CSE 231 to Python in the Fall of 2007. One of the products of this change was this textbook, written as a general introduction to CS1 using Python. The book adopts the theme of "data manipulation" for its examples, focusing on using real-world datasets and manipulating them (averages, graphs, indicies, searches, etc.) in various ways.

The book covers the standard CS1 curriculum, and includes extensive algorithm development sections to help students in their study of computing. Supplemental material is also provided including: full set of power point slides, collaborative lab exercises, project homeworks and solutions to over 600 exercises in the book.


Head First Programming by Paul Barry and David Griffiths

A Learner's Guide to Programming, using the Python Language

  • ISBN-10: 0596802374
  • ISBN-13: 978-0596802370
  • O'Reilly Media
  • 440 pages (November 2009)

Ever wished you could learn how to program from a book? If you have no previous programming experience, you might be wondering where to start. Head First Programming introduces the core concepts of writing computer programs--variables, decisions, loops, functions, and objects--which apply regardless of the programming language, but uses concrete examples and exercises in the dynamic and versatile Python language to apply and reinforce these concepts.

Learn the basic tools to start writing the programs that interests you, not the generic software someone else thinks you should have, and get a better understanding of what software can (and cannot) do. When you're finished, you'll have the necessary foundation to apply to whatever language or software project you need or want to learn.


Programming in Python 3: A Complete Introduction to the Python Language (Second Edition) by Mark Summerfield

  • ISBN10: 0321680561
  • Addison-Wesley Professional
  • 648 pages (November 2009)

This book teaches you how to write programs using Python 3 in good Python 3 style.

The book will be useful to people who program professionally as part of their job, whether as full-time software developers, or those from other disciplines, including scientists and engineers, who need to do some programming in support of their work. It will also prove ideal for those Python 2 programmers who need to migrate (or prepare to migrate) to Python 3. The book is also suitable for students—the only prerequisite is some basic knowledge of programming in any language, for example, Basic or Java, or of course Python itself.

The book teaches solid procedural style programming, then builds on that to teach solid object-oriented programming, and then goes on to more advanced topics such as descriptors and class decorators. But even newcomers to Python 3 should be able to write useful (although small and basic) programs after reading chapter 1, and then go on to create larger and more sophisticated programs as they work through the chapters.

The book's web site lists the table of contents and has links to extracts. It also has all the examples and exercise solutions available for download.


Python for Software Design: How to Think Like a Computer Scientist by Allen B. Downey, Olin College of Engineering, Massachusetts

  • ISBN-13: 9780521725965)
  • Cambridge University Press
  • 272 pages (March 2009)

Python for Software Design is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters. The focus is on the programming process, with special emphasis on debugging. The book includes a wide range of exercises, from short examples to substantial projects, so that students have ample opportunity to practice each new concept. Exercise solutions and code examples are available from thinkpython.com, along with Swampy, a suite of Python programs that is used in some of the exercises.


Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande

  • ISBN10: 1933988495
  • Manning Publications
  • 488 pages (January 2009)

"Computer programming is a powerful tool for children to 'learn learning,' that is, to learn the skills of thinking and problem-solving...Children who engage in programming transfer that kind of learning to other things."--Nicholas Negroponte, the man behind the One Laptop Per Child project that hopes to put a computer in the hands of every child on earth, January 2008

Your computer won't respond when you yell at it. Why not learn to talk to your computer in its own language? Whether you want to write games, start a business, or you're just curious, learning to program is a great place to start. Plus, programming is fun!

Hello World! provides a gentle but thorough introduction to the world of computer programming. It's written in language a 12-year-old can follow, but anyone who wants to learn how to program a computer can use it. Even adults. Written by Warren Sande and his son, Carter, and reviewed by professional educators, this book is kid-tested and parent-approved. You don't need to know anything about programming to use the book. But you should know the basics of using a computer--e-mail, surfing the web, listening to music, and so forth. If you can start a program and save a file, you should have no trouble using this book.

Color ebook and black and white print book are both available from the publisher at www.manning.com/sande.


Hello Python! by Anthony Briggs

  • Foreword by Steve Holden
  • 424 pages (February, 2012)
  • ISBN 9781935182085

Hello! Python fully covers the building blocks of Python programming and gives you an introduction to more advanced topics such as object-oriented programming, functional programming, network programming, and program design. New (or nearly new) programmers will learn most of what they need to know to start using Python immediately.

A more advanced book than Hello World!, it takes a different tack. You follow along as the author writes a practical project in every chapter. You'll see how programmers think about solving problems with programming, and there are hints on how to extend the projects to suit your own needs.


The Quick Python Book, 2nd edition

This revision of Manning's popular The Quick Python Book offers a clear, crisp introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this updated edition covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

After exploring Python's syntax, control flow, and basic data structures, the book shows how to create, test, and deploy full applications and larger code libraries. It addresses established Python features as well as the advanced object-oriented options available in Python 3. Along the way, you'll survey the current Python development landscape, including GUI programming, testing, database access, and web frameworks.

Chapter 4 Chapter 6

Review by Jim Kohli, dzone.com

Ebook and print book are both available from the publisher at www.manning.com/ceder.


IronPython in Action by Michael Foord

  • ISBN10: 1933988339
  • Manning Publications
  • 480 pages (March 2009)

IronPython is an implementation of Python for the Microsoft .NET framework, Mono, and the Silverlight and Moonlight browser plugins. IronPython in Action is an introduction to programming with IronPython for both .NET programmers interested in Python and Python programmers new to .NET.

IronPython in Action includes a swift paced Python tutorial, chapters introducing .NET libraries and structured application development with Python, integrating with other .NET languages like C# and VB.NET, server side web programming with ASP.NET and client side web programming with Silverlight, system administration, working with the WPF and Windows Forms user interface libraries and embedding the IronPython engine in .NET applications.

As well as covering specific topics and both Python and .NET libraries the book pays special attention to the nitty-gritty details of Python and .NET integration that previous experience with Python or C# won't necessarily have prepared you for.

Color ebook and black and white print book are both available from the publisher at www.manning.com/foord.


"Beginning Python: From Novice to Professional, Second Edition" Magnus Lie Hetland

ISBN13: 978-1-59059-982-2 Apress Inc, 688 pages (September 2008)

Gain a fundamental understanding of Python’s syntax and features with the second edition of Beginning Python, an up–to–date introduction and practical reference. Covering a wide array of Python–related programming topics, including addressing language internals, database integration, network programming, and web services, you’ll be guided by sound development principles. Ten accompanying projects will ensure you can get your hands dirty in no time.

Updated to reflect the latest in Python programming paradigms and several of the most crucial features found in the forthcoming Python 3.0 (otherwise known as Python 3000), advanced topics, such as extending Python and packaging/distributing Python applications, are also covered.

Home Page (includes electronic version)


Object-Oriented Programming in Python

  • Michael H. Goldwasser, David Letscher

This is a textbook for an object-oriented introduction to computer science course (CS1) using Python.

Home Page

0136150314, Prentice Hall Publishing, 688 pages (October 2007)


An Introduction to Python (version 2.5)

  • Guido van Rossum, and Fred L. Drake, Jr. (Editor)

0954161769, Network Theory Ltd, 164 pages (November 2006)

This is a printed edition of the official Python tutorial by Guido van Rossum. For each copy sold $1 will be donated to the Python Software Foundation.

Home Page (includes electronic version)


Python for Dummies (version 2.5)

  • Stef Maruch and Aahz Maruch

0471778648, For Dummies, 410 pages (August 2006)

Home Page

Following the usual Dummies style, this book takes a light-hearted approach to introducing Python. In addition to Python itself, Python for Dummies also gives lots of advice about good programming practices.


Introduction to Computing and Programming Using Python: A Multimedia Approach Mark Guzdial

ISBN: 0131176552 http://coweb.cc.gatech.edu/mediaComp-teach

An introduction to programming by manipulating digital media --- creating negatives and grayscale pictures, splicing sounds, implementing chromakey.


Core Python Programming

  • Wesley J. Chun

ISBN: 0132269937 (2nd ed.); 0130260363 (1st ed.)

Prentice Hall PTR / Pearson Education

~1120 pages (Sep 2006); 810 pages (Jan 2001)

The main goal of this book is comprehensively teaching you the core of the Python language, much more than just its syntax (which you don't really need a book to learn, right?). Knowing more about how Python works under the covers, including the relationship between data objects and memory management, will make you a much more effective Python programmer coming out of the gate. The advanced topics chapters are meant as complete intros or "quick dives" into each of those distinct subjects. However, if moving towards those specific areas of development, they are more than enough to get you pointed in the right direction. We would say that the book is 40% introductory, 40% intermediate (in-depth core Python material plus advanced topics chapters), and 20% reference -- it is *not* meant to be a substitute for a pure reference such as the Python Essential Reference or Python in a Nutshell.

The new 2nd edition is expanded (300 new pages!) and updated through Python 2.5 as well as confirmed functionality for future versions! Also added are a few new chapters of advanced material. As in the 1st edition, a plethora of easy to advanced exercises can be found at the end of every chapter to hammer the concepts home. At the moment, this is the most complete and up-to-date Python book on the market today.

From an anonymous reviewer: "Very well written. It is the clearest, friendliest book I have come across yet for explaining Python, and putting it in a wider context. It does not presume a large amount of other experience. It may be too slow for more advanced people, but it does go into some important Python topics carefully and in depth. Unlike too many beginner books, it never condescends or tortures the reader with childish hide-and-seek prose games. Not too many in-depth real-world examples in the book (hopefully he will do a followup volume), it sticks to gaining a solid grasp of Python syntax and structure."

Home Page (includes book reviews, errata, sample chapter, links to alternate editions, source code from the book, and more!)

Links regarding the 1st edition: IBM Developer Works review Linux Journal review Chinese edition O'Reilly Safari electronic edition Indian edition (English) Korean edition Association of C/C++ Users review Python Learning Foundation review Mississippi Python users group (Useless Python) review


Python Programming: An Introduction to Computer Science

  • John Zelle

1887902996, Franklin Beedle & Associates, December 2003

This is a textbook for a "traditional" introduction to computer science course (CS1) using Python.

Home Page


  • How to Think Like a Computer Scientist: Learning with Python

  • Allen Downey, Jeff Elkner and Chris Meyers

0971677506, Green Tea Press 288 pages

How to Think... is a free textbook available under the GNU Free Documentation License. It is a true beginners book. The ebook version is free and available in PDF, HTML and PostScript.

Home Page


  • Dive Into Python: Python for Experienced Programmers

  • Mark Pilgrim

1590593561, Apress 432 pages

Dive Into Python is a free Python ebook for experienced programmers available under the GNU Free Documentation License. A printed version has been published by Apress http://www.apress.com/, and is available through all major outlets.

Home Page


Learning Python

  • Mark Lutz

0596158068 O'Reilly & Associates, 1216 pages (September 2009)

Learning Python is meant for beginning Python programmers, and others seeking a quick introduction to the language. It focuses on core language fundamentals in depth, is based on Mark Lutz's Python training classes, and includes numerous exercises with solutions to guide the reader through a hands-on learning experience.

O'Reilly's catalog page Author's book page Sample chapters Review of first edition by Phil Hughes in Linux Journal


The Quick Python Book

1884777740, Manning Publications, 275 pages (October 1999)

A clear and concise description of Python aimed at readers who are already familiar with programming in at least one other language.

Two sample chapters Review by Francis Glassborow in _C Vu_ Review by Phil Hughes Review by AMK

A 2nd edition (complete rewrite moving it from Python 1.x to 3.x was published Jan 2010.

Publisher's page for The Quick Python Book, 2nd ed.


Learn to Program Using Python

  • Alan Gauld

0201709384, Addison-Wesley, 270 pages (December, 2000)

This book teaches programming in Python to true beginners. It started as a popular Web tutorial, and been expanded into a complete book.

Home Page


Programming Python (Third Edition)

  • Mark Lutz

0596009259, O'Reilly & Associates, 1596 pages (August, 2006)

A Python classic, updated and expanded to cover Python 2.5. The first edition, published in 1996, was the first Python book project to be signed. Programming Python is about what you can do with Python after you've mastered the language fundamentals - it assumes you already know the core language, and focuses on applications programming in gradual tutorial fashion. It is designed to be a natural follow-up to the book Learning Python. This book includes 300 pages on GUIs, 500 on Internet programming, and more on databases, systems programming, text processing, Python/C integration, and other topics. Also available in PDF form from O'Reilly.

O'Reilly's catalog page Author's book page Foreword by Guido van Rossum Review of the first edition by Greg Wilson Review of the first edition by Terry Rooker in ;login: Review of the first edition by Danny Yee


Python Pocket Reference (Third Edition)

  • Mark Lutz

0596009402, O'Reilly & Associates, 160 pages (February, 2005)

This handy reference guide summarizes Python statements, built-in functions, escape and formatting codes, and other prominent Python language features.


Python Standard Library

0596000960, O'Reilly & Associates, 250 pages (February 2001)

Based in part on 3,000 newsgroup articles written by Python veteran FredrikLundh over the last four and half years, this book provides sample scripts for all standard modules in the Python library. Also available in German.

Author's book page Electronic edition (archived snapshot)


Web Programming in Python: Techniques for Integrating Linux, Apache, and MySQL

  • George K. Thiruvathukal, John Shafaee and Thomas Christopher

0130410659, Prentice Hall, 450 pages (October 2001)

The book has introductory chapters on Python, networking, Apache, Linux, and MySQL. It is a self- contained reference to Python and open-source programming that makes use of Python to develop real applications that are also available under an open source license.


Programming With Python

  • Tim Altom with Mitch Chapman,

0761523340, Prima Publishing, (October 1999)

Review by Phil Hughes in Linux Journal Review by Cary Miller


Python Developer's Handbook

  • Andre Lessa

0672319942, Sams, 600 pages (December 2000)


Python How to Program

  • Harvey M Deitel, Paul J Deitel, Jonathan Liperi, Ben Wiedermann

0130923613, Prentice Hall, 1376 pages (2002)

In the renowned Deitel series "How to Program"

description


Text Processing in Python

  • David Mertz

The free text is available at:

http://gnosis.cx/TPiP/

Buy the dead-trees version at:

http://tinyurl.com/jskh

A review by Danny Yee at: http://dannyreviews.com/h/Text_Python.html

See also: TextProcessingInPython


Python Programming Patterns Thomas Christopher

Prentice-Hall, 2001

ISBN: 0130409561

There's a sample chapter at informIT

Reviews: ACCU review by Francis Glasborow; one of several books in Mertz's book roundup #3


Python First: Introduction to Computing with Python

Atanas Radenski

The 'Python First' digital pack provides a gentle introduction to computer science. It is more than a book: Ten self-contained online chapters consist of e-texts, slides, 62 labs, tens of sample programs, and online quizzes. The 'Python First' pack includes a wealth of detailed self-guided labs that you can complete on your own.

Home Page

Python 2

Practical Programming (in Python) "Practical Programming (in Python)" is meant as a first programming course and is tightly aligned with the University of Otago introductory programming course called Practical Programming. The textbook is organized into 24 "lectures" that cover all the basics of programming (sequence, selection, iteration, functions etc), plus all the major data structures supplied by Python.

This textbook is a modified version of "How to Think Like a Computer Scientist: Learning with Python 2nd Edition", by Jeffrey Elkner, Allen B. Downey and Chris Meyers.


Books no longer available


How Would Pareto Learn Python!

Rahul Verma

Python is a very powerful high level object oriented language and has easy bindings with C,C++,Java etc. It can very well be the first and the only language needed by a software tester for routine test automation tasks as well as for building robust general purpose test automation frameworks.

This online book is written keeping beginners in Python in mind. It bridges the gap between very basic tutorials and comprehensive books.

The book is provided for free by Talent Reboot Trainings and Asessments and hosts the online version of the book as a part of its official website.

Read Online Free Version - How Would Pareto Learn Python

CategoryPythonInEducation CategoryDocumentation


Learning Python (Free eBook)

By Fabrizio Romano

ISBN 13: 9781783551712 Packt Publishing 442 pages (December 2015)

Book Overview:

This book goes deeper than simply showing you how to build a Python app, giving you the fundamentals of Python programming that every developer needs to know to make the most of the language. Packed with tutorials and examples this title features everything from data structures, writing reusable code, testing, paradigms, and how Python can be adapted. This free eBook will help transform you from a complete beginner to someone ready to bring the best out of their projects.

  • Get Python up and running on Windows, Mac, and Linux in no time
  • Grasp the fundamental concepts of coding, along with the basics of data structures and control flow.
  • Write elegant, reusable, and efficient code in any situation
  • Understand when to use the functional or the object oriented programming approach
  • Create bulletproof, reliable software by writing tests to support your code
  • Explore examples of GUIs, scripting, data science and web applications
  • Learn to be independent, capable of fetching any resource you need, as well as dig deeper

Who this book is written for:

This book is meant for programmers who wants to learn Python programming from a basic to an expert level. The book is mostly self-contained and introduces Python programming to a new reader and can help him become an expert in this trade.

Publisher's page


CategoryPythonWebsite CategoryPyCon2008 CategoryPythonInEducation

IntroductoryBooks (last edited 2023-08-03 20:15:37 by BenDicken)

Unable to edit the page? See the FrontPage for instructions.