Links for learning Python
The following are a set of curated links that I will try to maintain each time I come across a useful link for learning Python.
Blogs
Doug Hellman created the Python Module of the Week blog. Each week he would look at and give a detailed explanation of one of the modules from the standard python library. He then went on to write a book on the topic and since then he seems to not update his blog as often. Anyway, it’s a fine read:
http://pymotw.com/2/contents.html
Documentation
I don’t know whether to classify this as a blog, a reference or documentation. However, it is a good introduction to Python once you’ve mastered the basics (i.e. you can write simple programs) and want to move to the next step. Kenneth Reitz (one of the authors) has written many fine Python modules.
This is also an article/blog. It describes 30 lesser known features (or lesser known if you’re beginning Python). Actually, there are more than 30, but it started off as 30. You get to know the first few pretty quickly when using Python, but there are some left field items of interest.
http://sahandsaba.com/thirty-python-language-features-and-tricks-you-may-not-know.html
Python Magic Methods
When creating classes, you can define how objects of the class respond to operators like ‘+’, ‘-‘, ‘int()’, ‘str()’ etc. These are known as magic methods or double underscore methods as they are written as follows: __eq__(self, other).
This is a very comprehensive list of them and explains the most common ones. It is also available as a PDF. Worth downloading and printing.
http://www.rafekettler.com/magicmethods.html
Tutorials
This is the only tutorial that I recommend. It was written by Guido van Rossum, the author of Python.
http://docs.python.org/2/tutorial/
This website is an interactive Python tutorial. I prefer using my own environment for learning Python, but this may be useful if you don’t want to go through the trouble of installing Python (which means that you’re probably on a Windows machine, since Linux and OS X come with Python installed).
Books
Learn Python the Hard Way is a book by Zed Shaw. You are given 50+ exercises to type in and then modify. Many people have claimed that it is a great way to learn Python.
http://learnpythonthehardway.org/book/
This book expands on the material in the Python tutorial, but does not go much further beyond that. It may be useful if you find the tutorial a bit terse.
http://swaroopch.com/notes/Python/
Think Python had the original title “How to Think Like a Computer Scientist” and was used as a textbook for teaching computer science. A free copy of the PDF is available here:
http://www.greenteapress.com/thinkpython/thinkpython.html
Other
Pycoders weekly is a weekly newsletter with articles of interest to Python developers. You can subscribe to it by visiting the following link:
This one is a mixture of a blog, a tutorial and a reference. It is called “Learn Python in Y minutes” - obviously a spoof - but a handy cheat sheet/refresher.
http://learnxinyminutes.com/docs/python/
I came across the following blog which contains a good article explaining decorators:
http://yasoob.github.io/blog/python-decorators-demystified/
This article explains how to set up a Python environment for Django. The advice is generally good and can be applied to many environments:
http://www.jeffknupp.com/blog/2013/12/18/starting-a-django-16-project-the-right-way/
The following is a list of videos from PyCon 2018 held in Cleveland:
https://www.youtube.com/playlist?list=UUsX05-2sVSH7Nx3zuk3NYuQ
To make it easier to search for a particular video, here are the descriptions inline (Copied from: view-source:https://www.reddit.com/r/Python/comments/8j4ep6/pycon_2018_talk_videos/):
- Barry Warsaw - Get your resources faster, with importlib.resources - PyCon 2018 (28:42)
- Sunday Morning Lightning Talks + Keynote - PyCon 2018 (1:19:16)
- Daniel Pyrathon - A practical guide to Singular Value Decomposition in Python - PyCon 2018 (31:15)
- Mario Corchero - Effortless Logging: A deep dive into the logging module - PyCon 2018 (30:28)
- Pieter Hooimeijer - Types, Deeper Static Analysis, and you - PyCon 2018 (28:29)
- vigneshwer dhinakaran - Pumping up Python modules using Rust - PyCon 2018 (30:41)
- Carl Meyer - Type-checked Python in the real world - PyCon 2018 (32:10)
- Amber Brown ("HawkOwl") - How We Do Identity Wrong - PyCon 2018 (32:17)
- Alex Gaynor - Learning From Failure: Post Mortems - PyCon 2018 (29:24)
- Alvaro Leiva Geisse - Systemd: why you should care as a Python developer - PyCon 2018 (27:03)
- Ned Batchelder - Big-O: How Code Slows as Data Grows - PyCon 2018 (28:51)
- Greg Price - Clearer Code at Scale: Static Types at Zulip and Dropbox - PyCon 2018 (29:51)
- Claudio Freire - Efficient shared memory data structures - PyCon 2018 (27:16)
- Renato Oliveira - User focused API Design - PyCon 2018 (27:28)
- Steven Sklar - The Hare Wins the Race: Getting the most out of RabbitMQ in distributed applications (28:57)
- Zekun Li - There and Back Again: Disable and re-enable garbage collector at Instagram - PyCon 2018 (24:12)
- Kyle Knapp - Automating Code Quality - PyCon 2018 (29:45)
- PSF Community Service Awards - Catherine Devlin Keynote - Final Remarks - PyCon 2018 (59:01)
- Lightning Talks - Saturday Evening - PyCon 2018 (1:11:00)
- Trey Hunner - Python 2 to 3: How to Upgrade and What Features to Start Using - PyCon 2018 (25:59)
- Sara Packman - The Journey Over the Intermediate Gap - PyCon 2018 (27:09)
- Rae Knowler - Python, Locales and Writing Systems - PyCon 2018 (35:04)
- Matt Davis - Python Performance Investigation by Example - PyCon 2018 (30:36)
- Mariatta Wijaya - What is a Python Core Developer? - PyCon 2018 (36:13)
- Jason Fried - Fighting the Good Fight: Python 3 in your organization - PyCon 2018 (30:48)
- James Bennett - A Bit about Bytes: Understanding Python Bytecode - PyCon 2018 (29:45)
- Hynek Schlawack - How to Write Deployment-friendly Applications - PyCon 2018 (44:20)
- Graham Dumpleton - Secrets of a WSGI master. - PyCon 2018 (32:55)
- VM (Vicky) Brasseur - The human nature of failure & resiliency - PyCon 2018 (44:44)
- Paul Vincent Craven - Easy 2D Game Creation With Arcade - PyCon 2018 (29:48)
- Dmitry Filippov, Ewa Jodlowska - By the Numbers: Python Community Trends in 2017/2018 - PyCon 2018 (25:41)
- Kenneth Reitz - Pipenv: The Future of Python Dependency Management - PyCon 2018 (35:45)
- Christopher Fonnesbeck - Bayesian Non-parametric Models for Data Science using PyMC3 - PyCon 2018 (42:25)
- Scott Triglia - Surviving (and thriving!) when you are overloaded - PyCon 2018 (27:16)
- Russell Keith-Magee - Building a cross-platform native app with BeeWare - PyCon 2018 (30:50)
- Lilly Ryan - Don't Look Back in Anger: Wildman Whitehouse and the Great Failure of 1858 - PyCon 2018 (30:13)
- Raymond Hettinger - Dataclasses: The code generator to end all code generators - PyCon 2018 (45:08)
- Shannon Turner - You're an expert. Here's how to teach like one. - PyCon 2018 (28:08)
- Colin Carroll, Karin C. Knudson - Fighting Gerrymandering with PyMC3 - PyCon 2018 (30:03)
- Victor Stinner - Python 3: ten years later - PyCon 2018 (43:04)
- Justin Myles Holmes - Python across the USA: This is the Bus. - PyCon 2018 (24:57)
- Nicolle Cysneiros - Graph Databases: Talking about your Data Relationships with Python - PyCon 2018 (45:31)
- Nir Arad - Controlling apples with snakes: Automating mobile apps with Appium - PyCon 2018 (27:46)
- Miguel Grinberg - Oops! I Committed My Password To GitHub! - PyCon 2018 (29:44)
- Matthew Rocklin - Democratizing Distributed Computing with Dask and JupyterHub - PyCon 2018 (32:06)
- Larry Hastings - Solve Your Problem With Sloppy Python - PyCon 2018 (30:24)
- Janet Matsen - Programming microbes using Python - PyCon 2018 (24:56)
- Jack Diederich - HOWTO Write a Function - PyCon 2018 (41:31)
- Esther Nam - One weird trick to becoming a better software developer - PyCon 2018 (28:22)
- Erin Braswell - Python Data Sonification for Science and Discovery - PyCon 2018 (26:12)
- Dustin Ingram - Inside the Cheeseshop: How Python Packaging Works - PyCon 2018 (25:15)
- David Beazley - Reinventing the Parser Generator - PyCon 2018 (45:01)
- Christopher Swenson - Colossal Cave Adventure in Python... in the browser! - PyCon 2018 (41:42)
- Christopher Beacham / Lady Red - Visualizing Algorithms with Python and Programmable LEDs (30:18)
- Carol Willing - Practical Sphinx - PyCon 2018 (27:21)
- Anna Nicanorova - Data Visualization in Mixed Reality with Python - PyCon 2018 (18:45)
- Amjith Ramanujam - How Netflix does failovers in 7 minutes flat - PyCon 2018 (31:46)
- Amit Saha - Counter, Gauge, Upper 90 - Oh my! - PyCon 2018 (25:31)
- Valery Calderon - Reactive Programming with RxPy - PyCon 2018 (19:27)
- Stephanie Kim - Exploring Deep Learning Framework PyTorch - PyCon 2018 (43:02)
- Sam Kitajima-Kimbrel - Bowerbirds of Technology: Architecture and Teams at Less-than-Google Scale (29:59)
- Philip James, Asheesh Laroia - All in the timing: How side channel attacks work - PyCon 2018 (30:15)
- Padmaja Bhagwat - Listen, Attend, and Walk : Interpreting natural language navigational instructions (27:42)
- Nina Zakharenko - Elegant Solutions For Everyday Python Problems - PyCon 2018 (32:58)
- Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 2018 (32:00)
- Jiaqi Liu - Building a Data Pipeline with Testing in Mind - PyCon 2018 (20:16)
- Brian Okken, Paul Everitt - Visual Testing with PyCharm and pytest - PyCon 2018 (29:55)
- Allison Kaptur - Love your bugs - PyCon 2018 (33:18)
- Saturday Morning Lightning Talks + Keynotes - PyCon 2018 (1:26:20)
- Lightning Talks - Friday - PyCon 2018 (56:59)
- Amirali Sanatinia - Getting Started with Blockchains and Cryptocurrencies in Python - PyCon 2018 (3:18:06)
- Jake VanderPlas - Exploratory Data Visualization with Vega, Vega-Lite, and Altair - PyCon 2018 (3:19:02)
- Christy Heaton - Intro to Spatial Analysis and Maps with Python - PyCon 2018 (2:33:17)
Credits
Some of the links above come from this metalist: