Python: Tour-De-Force (2022-11-07 - 2022-11-10, 2022-12-01) =========================================================== .. contents:: :local: .. sidebar:: *Training Information* **Material** * :doc:`/trainings/material/soup/python/group` **Source Code** * `Github `__. This is a *private project*; to view it you must be a collaborator. **Notebook** * :doc:`Structure ` * :doc:`Whole notebook ` * :download:`Download ` Up Front: Project Management ---------------------------- * :doc:`/trainings/material/soup/linux/basics/intro/wsl` * :doc:`/trainings/material/soup/python/swdev/pip/topic` * :doc:`/trainings/material/soup/python/swdev/venv/topic` * :doc:`/trainings/material/soup/python/swdev/pytest/intro` Object Oriented Programming: Classes ------------------------------------ * From :doc:`/trainings/material/soup/python/advanced/oo/group` * :doc:`/trainings/material/soup/python/advanced/oo/constructor/topic` * :doc:`/trainings/material/soup/python/advanced/oo/classes-and-dicts/topic` * :doc:`/trainings/material/soup/python/advanced/oo/methods/topic` * :doc:`/trainings/material/soup/python/advanced/oo/str-repr/topic` * :doc:`/trainings/material/soup/python/advanced/oo/properties/topic` * :doc:`/trainings/material/soup/python/advanced/oo/namedtuple/topic` Exercise Series: CSV -------------------- * :doc:`/trainings/material/soup/python/misc/csv/topic` * :doc:`/trainings/material/soup/python/exercises/userdb/csvreader` * :doc:`/trainings/material/soup/python/exercises/userdb/csvdictreader` * :doc:`/trainings/material/soup/python/exercises/userdb/csvreader-function` * :doc:`/trainings/material/soup/python/exercises/userdb/csvdictreader-function` Missing Pieces: Encoding, Unit Testing -------------------------------------- * :doc:`/trainings/material/soup/python/misc/encoding/topic` * Unit Testing (``pytest`` vs. ``unittest``) * :doc:`/trainings/material/soup/python/swdev/unittest` * `unittest sample suite `__ (*Private Github project*) * `pytest sample suite `__ (*Private Github project*) * :doc:`/trainings/material/soup/python/swdev/pytest/intro` Exercise Series: CSV, JSON -------------------------- * :doc:`/trainings/material/soup/python/exercises/userdb/userdb_csv` * :doc:`/trainings/material/soup/python/exercises/userdb/user_json` * :doc:`/trainings/material/soup/python/exercises/userdb/user-class-person` Iteration, Generators --------------------- * Iteration (Recap) (:doc:`see notebook `) * :doc:`/trainings/material/soup/python/advanced/comprehensions/topic` * Generators, The ``yield`` Keyword * :doc:`/trainings/material/soup/python/advanced/iteration-generation/iteration-generation/topic` * Generator Expressions Operator Overloading -------------------- * :doc:`/trainings/material/soup/python/advanced/oo/operator-overloading/topic` Going Dynamic: ``type()``, ``exec()`` ------------------------------------- * ``type()``, ``exec()``. Revisit class dictionary, and build ``class Person`` dynamically. See demo `here `__ (*Private Github project*) More OO: Inheritance, Abstract Base Classes ------------------------------------------- * From :doc:`/trainings/material/soup/python/advanced/oo/group` * :doc:`/trainings/material/soup/python/advanced/oo/inheritance/topic` * :doc:`/trainings/material/soup/python/advanced/oo/abc/topic` Group Project Kickoff --------------------- .. image:: project.jpg Data Structures Recap --------------------- * :doc:`/trainings/material/soup/python/basics/python_0200_sequential_types/topic` * :doc:`/trainings/material/soup/python/basics/python_0210_indexing_slicing/topic` * :doc:`/trainings/material/soup/python/basics/python_0400_lists/topic` * :doc:`/trainings/material/soup/python/basics/python_0450_dictionaries/topic` Miscellaneous Livehacking ------------------------- * Subprocess * `Livehacking `__ * Documentation: :doc:`python:library/subprocess` * Network programming * `Livehacked client `__ * `Livehacked server `__ * Documentation: :doc:`python:library/socket` Function Arguments, Closures, Decorators ---------------------------------------- * :doc:`/trainings/material/soup/python/advanced/starargs/topic` (`Livehacking `__) * :doc:`/trainings/material/soup/python/advanced/closures/topic` (`Livehacking `__) * :doc:`/trainings/material/soup/python/advanced/decorators/topic` (`Livehacking `__) Exceptions, ``with`` -------------------- * :doc:`/trainings/material/soup/python/advanced/exceptions/topic` (`Livehacking `__) * :doc:`/trainings/material/soup/python/advanced/context-mgr/topic` (`Livehacking `__) Package Management ------------------ * :doc:`/trainings/material/soup/python/swdev/venv/topic` * :doc:`/trainings/material/soup/python/drafts/setuptools/topic` Videos ------ Beginner ........ * `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 Advanced ........ * `Transforming Code into Beautiful, Idiomatic Python `__, by **Raymond Hettinger** .. raw:: html * `Python Tutorial: Decorators - Dynamically Alter The Functionality Of Your Functions `__, by `Corey Schafer `__ .. raw:: html * `Publishing (Perfect) Python Packages on PyPi `__ .. raw:: html Fun ... * `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 * `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 * `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