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