After completing your API project and putting it under version control on GitHub, you've successfully completed the second module of this Python course. Congratulations on your progress :)
Photo by Erwan Hesry https://unsplash.com/@erwanhesry
Concepts Learned
You've solidified your knowledge about the Python programming language, as well as about programming concepts in general. You can now:
- Install Python
- Understand what programming is and why it is useful
- Read, write, and understand Python code
- Use Python as a scripting language
- Write Python in the REPL and as a script
- Create variables and assign values to them
- Work with text and numbers
- Identify and use common data types, such as:
intfloatstrtuplelistsetdictboolNone
- Plan out your task with pseudocode
- Document your reasoning and decisions using code comments
- Write loop logic to tackle repetitive tasks
- Make comparisons and calculations with operators
- Make decisions with conditional logic and control flow
if,elif, andelsestatements- Looping keywords:
break,continue, andreturn
- Collect user input with
input() - Format your strings with f-strings
- Write and call functions to avoid repetition and generalize your code logic
- Provide input to your functions with arguments and return values to reuse them
- Use positional and keyword parameters
- Document your functions with docstrings and type hinting
- Understand scopes in programming
- Automate repetitive tasks on your file system using the
pathlibmodule - Work with File input/output on your computer
- Install and use third-party Python packages
- Use
sqlalchemyto interact with any SQL database through Python - Use the
requestspackage to integrate your Python projects with REST APIs.
Continued Learning
You've also learned about additional concepts and techniques that are important in your day-to-day work as a software developer, such as:
- Growth mindset: you'll have to always keep learning, and that's a good thing
- Error messages: friendly messages from Python or your operating system that help you to identify any miscommunications you had with your computer
- Operating systems: they are different from each other, but there are also many similarities
- Development environment: installing and working with the tools you need to write code productively on your local machine
- Virtual environments: compartmentalize your development environment
- Environment variables: separate sensitive information and settings from your production code
- Databases: high-performance software built to persistently store and retrieve your data
- APIs: structured data provided over the Internet that you can programmatically consume
- Debugging: find and fix bugs in your code, and use tooling to make that process more productive
- Version control: with Git and GitHub to save snapshots of your projects and open your codebase up for collaboration
- Refactoring: go back into the code you wrote earlier and improve it
At this point, you know enough Python and have the additional necessary software development skills to tackle a wide variety of projects. Speaking about projects, you've already completed a few.
Projects
You've also applied code logic concepts, correct Python syntax, and your creativity to build out projects:
- File Renamer: Move and rename files in a folder on your file system
- CLI Games: Various CLI games
- Guess My Number
- Hangman
- Adventure role-playing game with API interactions
You've worked on your projects in multiple sections of the course, going back to refactor, rewrite, and enhance the code you wrote earlier. This is extremely common when you're working on a code project, and it is an important aspect of software development to train and get used to.
You've already created fun games and useful automation scripts that you can be proud of and that you can showcase on your personal GitHub account.
Next Steps
The next course in this series is Python 301, which shifts focus to learning Python as an object-oriented programming language. You'll get to know what exactly it means that:
Everything's an object in Python
You'll finally dig deeper into the concept of objects and learn about their attributes and methods. You've already used a lot of the concepts you'll learn about, but now you'll finally better understand why things worked as they did.
Additionally, you'll also learn about approaches to testing and exception handling in Python, important concepts that will help you to round off your skills as a budding software developer.