Python Advanced

Requirements

  • Web programming with Jango and/or Flask

  • AI, machine learning

  • Databases, especially MySQL

  • Unit testing, test driven development

  • Design patterns

This is a training for a team which is already experienced in Python programming. Makes sense to shine some light on advanced and interesting Python features, such as

  • Iteration and generators

  • Context managers (the with statement) (TODO)

  • Encoding. TODO: somehow externalize “encoding” stuff from these:

  • Modules and packages. TODO: separate module usage (⟶ “The import statement”, PYTHONPATH, etc.) from module content (__all__, __init__.py, etc.)

  • TODO: Philosophical excourse: Duck Typing vs. Strict OO (who could do data science if it had to be done using strong typing?)

Agenda

TODO:

  • calculate toposorted topic list

  • verify accuracy of entrypoints against TODO’s

cluster_drafts Drafts cluster_drafts_ai Artificial Intelligence cluster_python Python cluster_python_basics Basics cluster_python_swdev Software Development drafts_import The import Statement (incomplete) drafts_pip Python Package Index drafts_pip->drafts_import drafts_special_methods Special Methods, Operator Overloading (incomplete) python_swdev_python_1050_oo Object Oriented Programming drafts_special_methods->python_swdev_python_1050_oo drafts_venv Virtual Environments drafts_venv->drafts_import drafts_venv->drafts_pip drafts_duck_typing Duck Typing vs. Strong Typing (incomplete) python_basics_python_0140_variables Variables drafts_duck_typing->python_basics_python_0140_variables drafts_context_manager Context Managers (incomplete) drafts_context_manager->python_basics_python_0140_variables drafts_ai_linear_regression Linear Regression drafts_ai_linear_regression->drafts_venv drafts_ai_machine_learning_intro Machine Learning: Concepts and Terminology drafts_ai_linear_regression->drafts_ai_machine_learning_intro drafts_ai_k_means K-Means drafts_ai_k_means->drafts_venv drafts_ai_k_means->drafts_ai_linear_regression drafts_ai_k_means->drafts_ai_machine_learning_intro python_python_1010_generators_yield Iteration and Generators python_basics_python_0270_functions Functions python_python_1010_generators_yield->python_basics_python_0270_functions python_basics_python_0225_range The range Function python_python_1010_generators_yield->python_basics_python_0225_range python_basics_python_0220_for for Loops python_python_1010_generators_yield->python_basics_python_0220_for python_basics_python_0200_sequential_types Sequential Datatypes python_python_1010_generators_yield->python_basics_python_0200_sequential_types python_basics_python_0450_dictionaries More on Dictionaries python_basics_python_0150_datatypes_overview_compound Compound Datatypes python_basics_python_0450_dictionaries->python_basics_python_0150_datatypes_overview_compound python_basics_python_0450_dictionaries->python_basics_python_0220_for python_basics_python_0150_datatypes_overview Datatypes python_basics_python_0270_functions->python_basics_python_0150_datatypes_overview python_basics_python_0270_functions->python_basics_python_0140_variables python_basics_python_0150_datatypes_overview_compound->python_basics_python_0150_datatypes_overview python_basics_python_0500_files File I/O python_basics_python_0500_files->python_basics_python_0220_for python_basics_python_0330_strings_encoding Strings and Encoding python_basics_python_0500_files->python_basics_python_0330_strings_encoding python_basics_python_0225_range->python_basics_python_0220_for python_basics_python_0225_range->python_basics_python_0200_sequential_types python_basics_python_0300_strings More About Strings python_basics_python_0300_strings->python_basics_python_0150_datatypes_overview python_basics_python_0250_refs_flat_deep_copy References, (Im)mutability python_basics_python_0300_strings->python_basics_python_0250_refs_flat_deep_copy python_basics_python_0300_strings->python_basics_python_0200_sequential_types python_basics_python_0150_datatypes_overview->python_basics_python_0140_variables python_basics_python_0220_for->python_basics_python_0200_sequential_types python_basics_python_0250_refs_flat_deep_copy->python_basics_python_0150_datatypes_overview_compound python_basics_python_0250_refs_flat_deep_copy->python_basics_python_0150_datatypes_overview python_basics_python_0250_refs_flat_deep_copy->python_basics_python_0140_variables python_basics_python_0330_strings_encoding->python_basics_python_0300_strings python_basics_python_0200_sequential_types->python_basics_python_0150_datatypes_overview python_swdev_python_1200_modules Modules python_swdev_python_1200_modules->python_basics_python_0270_functions python_swdev_python_1200_modules->python_basics_python_0140_variables python_swdev_python_1200_modules->python_swdev_python_1050_oo python_swdev_python_1050_oo->python_basics_python_0450_dictionaries python_swdev_python_1050_oo->python_basics_python_0270_functions