Python Links
============
.. contents::
:local:
Books
-----
* `Automate the Boring Stuff with Python (Al Sweigart)
`__
* `Fluent Python (Luciano Ramalho)
`__
Visual Studio Code
------------------
* `Visual Studio Code (Windows) - Setting up a Python Development
Environment and Complete Overview
`__, by `Corey Schafer
`__
.. raw:: html
* `Visual Studio Code (Mac) - Setting up a Python Development
Environment and Complete Overview
`__, by `Corey Schafer
`__
.. raw:: html
Python Beginner Tutorials
-------------------------
* `5 Common Python Mistakes and How to Fix Them
`__, by `Corey Schafer
`__
.. raw:: html
* `Python Quick Tip: F-Strings - How to Use Them and Advanced String
Formatting `__, by
`Corey Schafer
`__
.. raw:: html
* `Python Tutorial for Beginners 4: Lists, Tuples, and Sets
`__, by `Corey Schafer
`__
.. raw:: html
* `Python Tutorial for Beginners 5: Dictionaries - Working with
Key-Value Pairs `__, by
`Corey Schafer
`__
.. raw:: html
* `Python Tutorial for Beginners 7: Loops and Iterations - For/While
Loops `__, by `Corey
Schafer
`__
.. raw:: html
* `Python Tutorial for Beginners 8: Functions
`__, by `Corey Schafer
`__
.. raw:: html
* `10 Python Tips and Tricks For Writing Better Code
`__, by `Corey Schafer
`__
.. raw:: html
* `Python Tutorial: Using Try/Except Blocks for Error Handling
`__, by `Corey Schafer
`__
.. raw:: html
* `Python 3.7: Encode String Method `__
.. raw:: html
Modules from Standard Library
-----------------------------
* `Python Tutorial: OS Module - Use Underlying Operating System
Functionality `__, by
`Corey Schafer
`__
.. raw:: html
* `Python Tutorial: Calling External Commands Using the Subprocess
Module `__, by `Corey
Schafer
`__
.. raw:: html
* `Python Tutorial: re Module - How to Write and Match Regular
Expressions (Regex)
`__, by `Corey Schafer
`__
.. raw:: html
* `Python Tutorial: CSV Module - How to Read, Parse, and Write CSV
Files `__, by `Corey
Schafer
`__
.. raw:: html
Advanced Python
---------------
* `Transforming Code into Beautiful, Idiomatic Python
`__, by **Raymond
Hettinger**
.. raw:: html
* `Python Tutorial: Duck Typing and Asking Forgiveness, Not Permission
(EAFP) `__, by `Corey
Schafer
`__
.. raw:: html
* `Python Tutorial: Unit Testing Your Code with the unittest Module
`__, by `Corey Schafer
`__
.. raw:: html
* `Python Tutorial: Decorators - Dynamically Alter The Functionality
Of Your Functions `__,
by `Corey Schafer
`__
.. raw:: html
* `Python Tutorial: VENV (Windows) - How to Use Virtual Environments
with the Built-In venv Module
`__: `Corey Schafer
`__
again. :doc:`Virtual environments
` are kind of an
isolated development sandbox, solving a similar problem as
containers do, but much more lightweight and Python only.
.. raw:: html
NumPy and Data Science Tutorials
--------------------------------
* `Complete Python NumPy Tutorial (Creating Arrays, Indexing, Math,
Statistics, Reshaping)
`__, by `Keith Galli
`__
.. raw:: html
* `Solving real world data science tasks with Python Pandas!
`__, by `Keith Galli
`__
.. raw:: html
* `Intro to Data Visualization in Python with Matplotlib! (line graph,
bar chart, title, labels, size)
`__, by `Keith Galli
`__
.. raw:: html
PyPI (Installing Modules that don't come as Batteries)
------------------------------------------------------
* `Python Tutorial: pip - An in-depth look at the package management
system `__, by `Corey
Schafer
`__
.. raw:: html
* `Publishing (Perfect) Python Packages on PyPi
`__
.. raw:: html
* `Packaging, Deployment, PyPI, and pip
`__: **Chris Wilcox**
(of Google) talking about packaging and deployment, and related
topics
.. raw:: html
Git, and Github
---------------
* `Git Tutorial for Beginners: Command-Line Fundamentals
`__, by `Corey Schafer
`__
.. raw:: html
* `Git Tutorial: Fixing Common Mistakes and Undoing Bad Commits
`__, by `Corey Schafer
`__
.. raw:: html
* `Git & GitHub Crash Course For Beginners
`__, by `Brad Traversy
`__
.. raw:: html
Conference Talks
----------------
David Beazley
.............
* `Built in Super Heroes
`__. `David Beazley
`__ in an entertaining keynote to the
"PyData Chicago 2016" conference. He has a number of very good and
entertaining (and very advanced) videos. You have to spend an entire
evening with him though.
.. raw:: html
* `The Fun of Reinvention - David Beazley - Pycon Israel 2017
`__. `David
Beazley `__ with an entertaining keynote
about typing, type annotations, metaprogramming, contracts.
.. raw:: html
* `Keynote - David Beazley
`__. `David Beazley
`__ live
coding a Web Assembly interpreter. PyCon India 2019.
.. raw:: html
* `David Beazley: Generators: The Final Frontier - PyCon 2014
`__: `David Beazley
`__ again a bit (a whopping four hours)
more precise on that topic.
.. raw:: html
* `Modules and Packages
`__. `David Beazley
`__ has a three hour (!) *really cool and
in-depth* look into the seemingly simple ``import`` mechanism.
.. raw:: html
* `Modules and Packages: Live and Let Die (Screencast)
`__. `David Beazley
`__ dissecting the module loading mechanism
(a whopping three hours long).
.. raw:: html
* `Curious Course on Coroutines and Concurrency
`__. `David Beazley
`__, entertaining as always. Tutorial
session given at PyCon Chicago 2009. (Three hours!)
.. raw:: html
* `Iterations of Evolution: The Unauthorized Biography of the For-Loop
`__. `David Beazley
`__ giving lessons in history. How ``for``
evolved from the beginning until where we are today.
.. raw:: html
* `Understanding the Python GIL
`__: **David Beazley**
dissecting the Global Interpreter Lock, explaining why
multiprocessing is better. At around minute 45, in the
questions/answers, there is a mention that using NumPy operations in
multiple threads is *truly parallel*.
.. raw:: html
Raymond Hettinger
.................
* `Transforming Code into Beautiful, Idiomatic Python
`__. **Raymond
Hettinger**, reiterating his favorite phrase: "There must be a
better way". (Hettinger is a "Python Core Developer".)
(He uses Python 2 though.)
.. raw:: html
* `Raymond Hettinger - Super considered super! - PyCon 2015
`__. **Raymond
Hettinger**, revolving around ``super()`` and MRO.
.. raw:: html
* `Raymond Hettinger - Modern Dictionaries
`__. **Raymond Hettinger**, explaining
how dictionaries are implemented.
.. raw:: html
* `Raymond Hettinger, Keynote on Concurrency, PyBay 2017 `__:
**Raymond Hettinger** covering most if not all aspects and
possiblities of concurrency. Very informative, very concise,
covering
* Multithreading
* Multiprocessing
* Async; I didn't even mention that. `asyncio
`__. Me big fan.
.. raw:: html