Python

This is a collection of Python topics that have been translated from the good old PDF material (which is now defunct).

The Python collection is extended continuously with new material, and is managed using OpenTraining.

Group Description

cluster_python Python cluster_python_basics Basics cluster_python_basics_exercises Exercises cluster_python_drafts Python Drafts cluster_python_drafts_ai Machine Learning, Artificial Intelligence cluster_python_swdev Software Development cluster_python_db Databases python_iteration_generation Iteration, Comprehensions, and Generators python_basics_python_0220_for for Loops python_iteration_generation->python_basics_python_0220_for python_python_1011_generators_yield_exercise Exercise: Generators python_python_1010_generators_yield Iteration, and Generators: the yield Keyword python_python_1011_generators_yield_exercise->python_python_1010_generators_yield python_python_5550_xml_etree XML: ElementTree (etree) python_python_5550_xml_etree->python_basics_python_0220_for python_basics_python_0450_dictionaries More on Dictionaries python_python_5550_xml_etree->python_basics_python_0450_dictionaries python_swdev_python_1200_modules Modules and Packages python_python_5550_xml_etree->python_swdev_python_1200_modules python_basics_python_0270_functions Functions python_python_1010_generators_yield->python_basics_python_0270_functions 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_0225_range The range Function python_python_1010_generators_yield->python_basics_python_0225_range python_basics_python_0330_strings_encoding Strings and Encoding python_basics_python_0300_strings More About Strings python_basics_python_0330_strings_encoding->python_basics_python_0300_strings python_basics_python_0170_if The if Statement python_basics_python_0160_boolean Boolean python_basics_python_0170_if->python_basics_python_0160_boolean python_basics_python_0150_datatypes_overview Datatypes python_basics_python_0140_variables Variables python_basics_python_0150_datatypes_overview->python_basics_python_0140_variables python_basics_python_0400_lists More on Lists python_basics_python_0150_datatypes_overview_compound Compound Datatypes python_basics_python_0400_lists->python_basics_python_0150_datatypes_overview_compound python_basics_python_0250_refs_flat_deep_copy References, (Im)mutability 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_0150_datatypes_overview_compound python_basics_python_0250_refs_flat_deep_copy->python_basics_python_0140_variables python_basics_python_0150_datatypes_overview_compound->python_basics_python_0150_datatypes_overview python_basics_python_0270_functions->python_basics_python_0150_datatypes_overview python_basics_python_0270_functions->python_basics_python_0140_variables python_basics_python_0220_for->python_basics_python_0200_sequential_types python_basics_python_0193_while while Loops python_basics_python_0220_for->python_basics_python_0193_while 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_0160_boolean->python_basics_python_0150_datatypes_overview python_basics_python_0460_sets More on Sets python_basics_python_0460_sets->python_basics_python_0150_datatypes_overview_compound python_basics_python_0200_sequential_types->python_basics_python_0150_datatypes_overview python_basics_python_0500_files File I/O python_basics_python_0500_files->python_basics_python_0330_strings_encoding python_basics_python_0500_files->python_basics_python_0220_for python_basics_python_0110_blahblah Blahblah python_basics_python_0130_syntax_etc Syntax etc. python_basics_python_0140_variables->python_basics_python_0130_syntax_etc python_basics_python_0300_strings->python_basics_python_0150_datatypes_overview 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_0310_strings_formatting String Formatting python_basics_python_0310_strings_formatting->python_basics_python_0300_strings python_basics_python_0193_while->python_basics_python_0170_if python_basics_python_0193_while->python_basics_python_0160_boolean python_basics_python_0225_range->python_basics_python_0220_for python_basics_python_0225_range->python_basics_python_0200_sequential_types python_basics_python_0120_helloworld Hello World python_basics_python_0120_helloworld->python_basics_python_0110_blahblah python_basics_python_0210_indexing_slicing Indexing and Slicing python_basics_python_0210_indexing_slicing->python_basics_python_0200_sequential_types python_basics_python_0130_syntax_etc->python_basics_python_0120_helloworld python_basics_python_1000_function_objects Function Objects python_basics_python_1000_function_objects->python_basics_python_0270_functions python_basics_python_0320_strings_methods Miscellaneous String Methods python_basics_python_0320_strings_methods->python_basics_python_0300_strings python_basics_exercises_python_0350_exercises Exercises: Strings python_basics_exercises_python_0350_exercises->python_basics_python_0330_strings_encoding python_basics_exercises_python_0350_exercises->python_basics_python_0300_strings python_basics_exercises_python_0350_exercises->python_basics_python_0310_strings_formatting python_basics_exercises_python_0350_exercises->python_basics_python_0320_strings_methods python_basics_exercises_while_even_numbers Exercises: Even Numbers (while) python_basics_exercises_while_even_numbers->python_basics_python_0193_while python_basics_exercises_for_primeness Exercise: Primeness (for) python_basics_exercises_for_primeness->python_basics_python_0220_for python_basics_exercises_while_primeness Exercises: Primeness (while) python_basics_exercises_for_primeness->python_basics_exercises_while_primeness python_basics_exercises_while_primeness->python_basics_python_0193_while python_basics_exercises_while_primeness->python_basics_exercises_while_even_numbers python_basics_exercises_max_numbers_function Exercise: Determine Maximum of Two Numbers (Function) python_basics_exercises_max_numbers_function->python_basics_python_0270_functions python_basics_exercises_max_numbers Exercise: Determine Maximum of Two Numbers python_basics_exercises_max_numbers_function->python_basics_exercises_max_numbers python_basics_exercises_greeting Exercise: Greeting, Depending on Time of Day python_basics_exercises_greeting->python_basics_python_0170_if python_basics_exercises_greeting->python_basics_python_0150_datatypes_overview python_basics_exercises_greeting->python_basics_python_0140_variables python_basics_exercises_greeting->python_basics_python_0120_helloworld python_basics_exercises_boolean Boolean Expressions python_basics_exercises_greeting->python_basics_exercises_boolean python_basics_exercises_python_0275_exercises Exercises: Lists, Loops, Functions python_basics_exercises_python_0275_exercises->python_basics_python_0150_datatypes_overview python_basics_exercises_python_0275_exercises->python_basics_python_0150_datatypes_overview_compound python_basics_exercises_python_0275_exercises->python_basics_python_0270_functions python_basics_exercises_python_0275_exercises->python_basics_python_0220_for python_basics_exercises_python_0275_exercises->python_basics_python_0193_while python_basics_exercises_python_0275_exercises->python_basics_exercises_while_primeness python_basics_exercises_max_numbers->python_basics_python_0170_if python_basics_exercises_max_numbers->python_basics_python_0150_datatypes_overview python_basics_exercises_max_numbers->python_basics_python_0140_variables python_basics_exercises_max_numbers->python_basics_python_0120_helloworld python_basics_exercises_max_numbers->python_basics_python_0130_syntax_etc python_basics_exercises_function_primeness Exercise: Primeness (Function) python_basics_exercises_function_primeness->python_basics_python_0270_functions python_basics_exercises_function_primeness->python_basics_exercises_for_primeness python_basics_exercises_function_primeness->python_basics_exercises_max_numbers_function python_basics_exercises_username_password Exercise: Username/Password Check python_basics_exercises_username_password->python_basics_python_0170_if python_basics_exercises_username_password->python_basics_python_0150_datatypes_overview python_basics_exercises_username_password->python_basics_python_0140_variables python_basics_exercises_username_password->python_basics_python_0120_helloworld python_basics_exercises_username_password->python_basics_python_0130_syntax_etc python_basics_exercises_python_0510_exercises_strings_and_files Exercises: Strings, Files, … python_basics_exercises_python_0510_exercises_strings_and_files->python_basics_python_0500_files python_basics_exercises_python_0510_exercises_strings_and_files->python_basics_exercises_python_0350_exercises python_basics_exercises_boolean->python_basics_python_0160_boolean python_basics_exercises_cmdline_digit Digit to English Word python_basics_exercises_cmdline_digit->python_basics_python_0150_datatypes_overview python_basics_exercises_cmdline_digit->python_basics_python_0150_datatypes_overview_compound python_basics_exercises_cmdline_digit->python_basics_python_0140_variables python_basics_exercises_cmdline_digit->python_basics_python_0120_helloworld python_basics_exercises_cmdline_digit->python_basics_python_0130_syntax_etc python_basics_exercises_mixed_list_keyerror (Mixed) List, KeyError python_basics_exercises_mixed_list_keyerror->python_basics_python_0150_datatypes_overview python_basics_exercises_mixed_list_keyerror->python_basics_python_0150_datatypes_overview_compound python_basics_exercises_mixed_list_keyerror->python_basics_python_0160_boolean python_basics_exercises_mixed_list_keyerror->python_basics_python_0140_variables python_basics_exercises_mixed_list_keyerror->python_basics_python_0120_helloworld python_basics_exercises_mixed_list_keyerror->python_basics_python_0130_syntax_etc python_basics_exercises_variable Swap Two Variables python_basics_exercises_variable->python_basics_python_0150_datatypes_overview python_basics_exercises_variable->python_basics_python_0140_variables python_basics_exercises_variable->python_basics_python_0120_helloworld python_basics_exercises_variable->python_basics_exercises_boolean python_drafts_encoding Encoding python_drafts_encoding->python_basics_python_0330_strings_encoding python_drafts_encoding->python_basics_python_0150_datatypes_overview python_drafts_encoding->python_basics_python_0500_files python_drafts_installation Python Installation python_drafts_mqtt MQTT python_drafts_venv Virtual Environments python_drafts_mqtt->python_drafts_venv python_drafts_duck_typing Duck Typing vs. Strong Typing (incomplete) python_drafts_duck_typing->python_basics_python_0140_variables python_drafts_pip Python Package Index python_drafts_import The import Statement (incomplete) python_drafts_pip->python_drafts_import python_drafts_special_methods Special Methods, Operator Overloading (incomplete) python_swdev_python_1050_oo Object Oriented Programming python_drafts_special_methods->python_swdev_python_1050_oo python_drafts_closures Closures python_drafts_closures->python_basics_python_0270_functions python_drafts_import->python_swdev_python_1200_modules python_drafts_starargs Positional and Keyword Arguments python_drafts_starargs->python_basics_python_0270_functions python_drafts_exceptions Exception Handling (incomplete) python_swdev_python_1100_exceptions Exception Handling python_drafts_exceptions->python_swdev_python_1100_exceptions python_drafts_venv->python_drafts_pip python_drafts_venv->python_drafts_import python_drafts_context_manager Context Managers (the with Statement) (incomplete) python_drafts_context_manager->python_python_1010_generators_yield python_drafts_context_manager->python_basics_python_0140_variables python_drafts_context_manager->python_drafts_exceptions python_drafts_decorators Decorators python_drafts_context_manager->python_drafts_decorators python_drafts_vscode Visual Studio Code for Python Programming python_drafts_decorators->python_basics_python_0270_functions python_drafts_decorators->python_drafts_special_methods python_drafts_decorators->python_drafts_closures python_drafts_decorators->python_drafts_starargs python_drafts_ai_machine_learning_intro Machine Learning: Concepts and Terminology python_drafts_ai_k_means K-Means python_drafts_ai_k_means->python_drafts_venv python_drafts_ai_k_means->python_drafts_ai_machine_learning_intro python_drafts_ai_linear_regression Linear Regression python_drafts_ai_k_means->python_drafts_ai_linear_regression python_drafts_ai_linear_regression->python_drafts_venv python_drafts_ai_linear_regression->python_drafts_ai_machine_learning_intro python_swdev_python_1050_oo->python_basics_python_0270_functions python_swdev_python_1050_oo->python_basics_python_0450_dictionaries python_swdev_python_5600_unittest The unittest Module python_swdev_python_5600_unittest->python_swdev_python_1050_oo python_swdev_python_5600_unittest->python_swdev_python_1200_modules python_swdev_python_1100_exceptions->python_basics_python_0270_functions python_swdev_python_1100_exceptions->python_basics_python_0140_variables python_swdev_python_1100_exceptions->python_swdev_python_1050_oo 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_db_python_5500_dbapi2 DBAPI 2 python_db_python_5500_dbapi2->python_python_1010_generators_yield python_db_python_5500_dbapi2->python_basics_python_0220_for python_db_python_5500_dbapi2->python_swdev_python_1200_modules python_db_python_5510_dbapi2_sqlite3 DBAPI 2: sqlite3 python_db_python_5510_dbapi2_sqlite3->python_db_python_5500_dbapi2 python_db_python_5520_dbapi2_postgres DBAPI 2: PostgreSQL python_db_python_5520_dbapi2_postgres->python_db_python_5500_dbapi2