This coursebook is for you if you want to write programs with more than 1000 lines.
You feel comfortable with writing basic Python code, but have realized that creating a piece of software is more complex. You are facing questions like:
- How to organize code into functions, classes and modules?
- How to clean up my code?
- How to make sure my program works?
- How to keep the program running over time?
- How to install my program on multiple computers?
Below you find development tools and techniques that help you to write programs that get the job done and don’t fall apart.
.. toctree:: :maxdepth: 1 debugging/README.rst
.. toctree:: :maxdepth: 1 python_package/README.rst getting_started/git_repo.rst getting_started/structure.rst
.. toctree:: :maxdepth: 1 functions/levels.rst functions/function_parameters.rst functions/scope.rst functions/generators.rst functions/functools.rst functions/decorators.rst
.. toctree:: :maxdepth: 1 shortcuts/collections.rst shortcuts/comprehensions.rst shortcuts/enums.rst challenges/demographics.rst
.. toctree:: :maxdepth: 1 refactoring/README.md structure/main_block.rst structure/commandline_args.rst structure/modules.rst structure/namespaces.rst
.. toctree:: :maxdepth: 1 classes/classes.rst classes/inheritance.rst classes/composition.rst classes/class_diagram.md classes/operator_overloading.rst classes/properties.rst classes/abc.rst classes/decorator_class.rst classes/metaclasses.rst classes/oop_principles.md
.. toctree:: :maxdepth: 1 quality/code_checks.rst testing/README.rst quality/continuous_integration.rst
.. toctree:: :maxdepth: 1 error_handling/debugging.rst error_handling/interactive_debugger.rst error_handling/exceptions.rst error_handling/warnings.rst error_handling/logging.rst
.. toctree:: :maxdepth: 1 performance/profiling.rst concurrency/README.rst
.. toctree:: :maxdepth: 1 software_engineering/README.rst software_engineering/prototype.rst software_engineering/code_review.rst
.. toctree:: :maxdepth: 1 challenges/factorial.rst challenges/sorting.rst challenges/dice/dice.rst challenges/tennis.rst challenges/memory/memory.rst challenges/magic_square.rst challenges/josephus.rst challenges/binary_search.rst challenges/tree_traversal.rst challenges/maze.rst challenges/backpack_problem.rst challenges/chained_list.rst challenges/tsp.rst challenges/blockchain.rst challenges/metaclass.rst
.. toctree:: :maxdepth: 1 project.rst hall_of_fame.rst
.. toctree:: :maxdepth: 1 links.rst