Learning Python¶

Beginner¶
The Python Tutorial¶
This is the official tutorial. It covers all the basics, and offers a tour ofthe language and the standard library. Recommended for those who need aquick-start guide to the language.
Python for Beginners¶
thepythonguru.com is a tutorial focuses on beginner programmers. It covers many python conceptsin depth. It also teaches you some advance constructs of python like lambda expression, regular expression.At last it finishes off with tutorial “How to access MySQL db using python”
Learn Python for Data Science Interactively¶
If you prefer an online interactive environment to learn Python for Data Science,this free python tutorial by DataCamp is a great way to get started. If you’re already somewhat advanced and interested in machine learning, check out thiscourse on Supervised Learning with scikit-learn, by one the core developers of scikit-learn.
Learn Python Interactive Tutorial¶
Learnpython.org is an easy non-intimidating way to get introduced to Python.The website takes the same approach used on the popularTry Ruby website, it has an interactive Pythoninterpreter built into the site that allows you to go through the lessonswithout having to install Python locally.
If you want a more traditional book,Python For You and Me is an excellentresource for learning all aspects of the language.
Learn Python Step by Step¶
Techbeamers.com provides step-by-step tutorials to teach Python. Each tutorial is supplemented with logically added coding snippets and equips with a follow-up quiz on the subject learned. There is a section forPython interview questions to help job seekers. You can also read essentialPython tips and learnbest coding practices for writing quality code. Here, you’ll get the right platform to learn Python quickly.
Online Python Tutor¶
Online Python Tutor gives you a visual step by steprepresentation of how your program runs. Python Tutorhelps people overcome a fundamental barrier to learningprogramming by understanding what happens as the computerexecutes each line of a program’s source code.
Invent Your Own Computer Games with Python¶
This beginner’s book is for those with no programming experience at all. Eachchapter has the source code to a small game, using these example programsto demonstrate programming concepts to give the reader an idea of whatprograms “look like”.
Hacking Secret Ciphers with Python¶
This book teaches Python programming and basic cryptography for absolutebeginners. The chapters provide the source code for various ciphers, as wellas programs that can break them.
Learn Python the Hard Way¶
This is an excellent beginner programmer’s guide to Python. It covers “helloworld” from the console to the web.
Crash into Python¶
Also known asPython for Programmers with 3 Hours, this guide givesexperienced developers from other languages a crash course on Python.
Dive Into Python 3¶
Dive Into Python 3 is a good book for those ready to jump in to Python 3. It’sa good read if you are moving from Python 2 to 3 or if you already have someexperience programming in another language.
Think Python: How to Think Like a Computer Scientist¶
Think Python attempts to give an introduction to basic concepts in computerscience through the use of the Python language. The focus was to create a bookwith plenty of exercises, minimal jargon and a section in each chapter devotedto the subject of debugging.
While exploring the various features available in the Python language theauthor weaves in various design patterns and best practices.
The book also includes several case studies which have the reader explore thetopics discussed in the book in greater detail by applying those topics toreal-world examples. Case studies include assignments in GUI and MarkovAnalysis.
Python Koans¶
Python Koans is a port of Edgecase’s Ruby Koans. It uses a test-drivenapproach, q.v. TEST DRIVEN DESIGN SECTION to provide an interactive tutorialteaching basic Python concepts. By fixing assertion statements that fail in atest script, this provides sequential steps to learning Python.
For those used to languages and figuring out puzzles on their own, this can bea fun, attractive option. For those new to Python and programming, having anadditional resource or reference will be helpful.
More information about test driven development can be found at these resources:
A Byte of Python¶
A free introductory book that teaches Python at the beginner level, it assumesno previous programming experience.
Learn to Program in Python with Codeacademy¶
A Codeacademy course for the absolute Python beginner. This free and interactive course provides and teaches the basics (and beyond) of Python programming whilst testing the user’s knowledge in between progress.This course also features a built-in interpreter for receiving instant feedback on your learning.
Intermediate¶
Effective Python¶
This book contains 59 specific ways to improve writing Pythonic code. At 227pages, it is a very brief overview of some of the most commons adapationsprogrammers need to make to become efficient intermediate level Pythonprogrammers.
Advanced¶
Pro Python¶
This book is for intermediate to advanced Python programmers who are looking tounderstand how and why Python works the way it does and how they can take theircode to the next level.
Expert Python Programming¶
Expert Python Programming deals with best practices in programming Python andis focused on the more advanced crowd.
It starts with topics like decorators (with caching, proxy, and context managercase-studies), method resolution order, using super() and meta-programming, andgeneralPEP 8 best practices.
It has a detailed, multi-chapter case study on writing and releasing a packageand eventually an application, including a chapter on using zc.buildout. Laterchapters detail best practices such as writing documentation, test-drivendevelopment, version control, optimization and profiling.
A Guide to Python’s Magic Methods¶
This is a collection of blog posts by Rafe Kettler which explain ‘magic methods’in Python. Magic methods are surrounded by double underscores (i.e. __init__)and can make classes and objects behave in different and magical ways.
Note
The Rafekettler.com is currently down, you can go to their Github version directly. Here you can find a PDF version:A Guide to Python’s Magic Methods (repo on GitHub)
For Engineers and Scientists¶
A Primer on Scientific Programming with Python¶
A Primer on Scientific Programming with Python, written by Hans PetterLangtangen, mainly covers Python’s usage in the scientific field. In the book,examples are chosen from mathematics and the natural sciences.
Numerical Methods in Engineering with Python¶
Numerical Methods in Engineering with Python, written by Jaan Kiusalaas,puts the emphasis on numerical methods and how to implement them in Python.
Miscellaneous topics¶
Problem Solving with Algorithms and Data Structures¶
Problem Solving with Algorithms and Data Structures covers a range of datastructures and algorithms. All concepts are illustrated with Python code alongwith interactive samples that can be run directly in the browser.
Programming Collective Intelligence¶
Programming Collective Intelligence introduces a wide array of basic machinelearning and data mining methods. The exposition is not very mathematicallyformal, but rather focuses on explaining the underlying intuition and showshow to implement the algorithms in Python.
Transforming Code into Beautiful, Idiomatic Python¶
Transforming Code into Beautiful, Idiomatic Python is a video by Raymond Hettinger.Learn to take better advantage of Python’s best features and improve existing codethrough a series of code transformations, “When you see this, do that instead.”
Fullstack Python¶
Fullstack Python offers a complete top-to-bottom resource for web developmentusing Python.
From setting up the webserver, to designing the front-end, choosing a database,optimizing/scaling, etc.
As the name suggests, it covers everything you need to build and run a completeweb app from scratch.
References¶
Python in a Nutshell¶
Python in a Nutshell, written by Alex Martelli, covers most cross-platformPython’s usage, from its syntax to built-in libraries to advanced topics suchas writing C extensions.
The Python Language Reference¶
This is Python’s reference manual, it covers the syntax and the core semanticsof the language.
Python Essential Reference¶
Python Essential Reference, written by David Beazley, is the definitive referenceguide to Python. It concisely explains both the core language and the most essentialparts of the standard library. It covers Python 3 and 2.6 versions.
Python Pocket Reference¶
Python Pocket Reference, written by Mark Lutz, is an easy to use reference tothe core language, with descriptions of commonly used modules and toolkits. Itcovers Python 3 and 2.6 versions.
Python Cookbook¶
Python Cookbook, written by David Beazley and Brian K. Jones, is packed withpractical recipes. This book covers the core python language as well as taskscommon to a wide variety of application domains.
Writing Idiomatic Python¶
“Writing Idiomatic Python”, written by Jeff Knupp, contains the most common andimportant Python idioms in a format that maximizes identification andunderstanding. Each idiom is presented as a recommendation of a way to writesome commonly used piece of code, followed by an explanation of why the idiomis important. It also contains two code samples for each idiom: the “Harmful”way to write it and the “Idiomatic” way.