📖
Introduction to programming with Python
  • Introduction to programming with Python 3
  • Preface
    • Common misconceptions about learning to program
    • The Hard truth about learning to program
    • Personal qualities for success
  • 1 - The way of the program
    • Python Programming Language
    • The first program
    • What is debugging?
    • Glossary
    • Exercises
  • 2 - Variables, expressions and statements
    • Values, types and variables
    • Common Built-in data types
    • Expressions
    • Code Format
    • Debugging
    • Glossary
    • Exercises
  • 3 - Functions
    • Python "built-in" Functions
    • Math Functions
    • Composition
    • User Defined Functions
    • PEP 8 Recommendations
    • Debugging
    • Glossary
    • Exercises
  • 4 - Conditionals
    • Boolean expressions
    • Conditional statements
    • PEP 8 Recommendations
  • 5 - Iteration
    • The while statement
    • The for statement
    • break and continue statements
    • Nested Loops
    • PEP 8 Recommendations
    • Debugging
    • Glossary
    • Exercises
  • 6 - A short introduction to testing: Building Reliable Software
  • 7 - A deeper dive into Strings, Lists and Tuples
    • More on Strings
    • More on Lists
    • More on Tuples
    • Debugging
    • Glossary
    • Exercises
  • 8 - A deeper look at Functions in Python
    • Function Preconditions and Postconditions
    • Positional and Keywords arguments
    • Nested Functions
    • Scope of a variable
    • Recursion
    • Functions' side effects
    • Glossary
    • Exercises
  • 9 - Code Documentation
    • Basics of Commenting Code
    • Documenting Code via Python Docstring
  • 10 - Sets and dictionaries
    • Sets
    • Dictionaries
    • Which data structure should I use?
    • Debugging
    • Glossary
    • Exercises
  • 11 - File I/O
    • Read/Write to a file
    • File management
    • Debugging
    • Glossary
    • Exercises
  • 12 - Handling Errors and Exceptions
  • 13 - Writing modules
  • 14 - Classes
    • Classes and Objects
    • Classes and Functions
    • Classes and Methods
    • Pythonic Magic: Understanding and Implementing Dunder Methods
    • Glossary
    • Exercises
  • 15 - Python's Type Hinting
  • Acknowledgements
Powered by GitBook
On this page
Edit on GitHub

Acknowledgements

In the dynamic world of digital publishing, creating an eBook is a continuous journey of evolution and refreshment. It involves not only the initial creation but also ongoing updates and improvements to keep the content relevant and accurate. In this ever-changing landscape, numerous individuals have played a crucial role in helping me correct errors and typos, ensuring that this eBook remains a reliable and valuable resource for readers.

This acknowledgment section is dedicated to expressing my heartfelt gratitude to those who have committed their time and expertise to meticulously review and rectify these imperfections, contributing to the ongoing enhancement of this eBook.

I would like to express my sincere gratitude to Allen B. Downey, whose work served as an inspiration for my own book. Allen not only created a remarkable book for people wanting to learn programming and thinking like a computer scientist but also generously made his book first edition publicly available, providing invaluable guidance and motivation for me to embark on my writing journey. I am profoundly appreciative of Allen's role in kickstarting my own writing project, and I look forward to paying this inspiration forward by sharing my own work with others.

I would like to thank my colleague Dr Steven Wright who introduced me to GitBook universe. Following our informal chat, and inspired by his own published material, I was convinced to write my eBook using this format, not only facilitating the initial composition but also the ongoing implementation of updates and enhancements, in order to preserve the content's relevance and accuracy.

Finally, I would like to thanks the following students from the University of York (UK) who highlighted errors and typos throughout the text.

  • Tom Koukouris,

  • Lurvïsh Polodoo,

  • and Mike Vaux.

Previous15 - Python's Type Hinting

Last updated 1 year ago