5) Virtual Environments and Packages Lesson

Recap & Next Steps

9 min to complete · By Martin Breuss

Wow! If you've started this course from the beginning and made it all the way here, you've already come a long way! Congratulations on your progress :)

Cycling in the countryside - Photo by https://unsplash.com/@davidmarcu David Marcu https://unsplash.com/s/photos/winding-path on Unsplash

Photo by David Marcu https://unsplash.com/@davidmarcu

You've learned about crucial aspects of the Python language, as well as about programming concepts in general.

What You've Learned So Far

So far, you've learned how to:

  • 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:
    • int
    • float
    • str
    • tuple
    • list
    • set
    • dict
    • bool
    • None
  • Plan out your task with pseudocode
  • Document your reasoning and decisions using code comments
  • Write loop logic to tackle repetitive tasks with:
    • for loops
    • while loops
    • list comprehension
  • Make comparisons and calculations using operators:
    • Assignment operator
    • Arithmetic operators
    • Membership operator
    • Relational operators
    • Logical operators
    • Identity operator
  • Make decisions with conditional logic and control flow using:
    • if, elif, and else statements
    • Looping keywords: break, continue, and return
  • 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
  • Work with File input/output on your computer

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
    • Automate renaming and moving files
    • Using the pathlib module to handle file paths
  • CLI Games: Build a small CLI game
    • Guess My Number
    • Hangman
    • Adventure role-playing game

At this point, you've learned enough about Python and programming that you are ready to handle any scripting task.

World Building

But there are also other concepts that you learned on your way. Programming isn't just programming, after all, and in this course, you're learning more than just programming.

You also learned to:

  • Adopt a growth mindset
  • Understand the logistics of this course
  • Get a working development setup going
  • Use a professional code editor, such as VS Code or PyCharm
  • Read error messages and make them your friends
  • Automate repetitive tasks on your operating system
  • Understand how the file system on your operating system is structured
  • Work with absolute and relative paths
  • Conduct common file system operations
  • Write Bash code to interact with your operating system through your command line

None of these topics are exclusively related to the Python programming language, but they are important steps toward becoming a productive software developer and having a better understanding of how to operate your computer as a professional. You'll also need these additional skills to tackle the day-to-day tasks of a programmer.

Next Steps

In the upcoming sections of this course, you'll spend more time on topics that aren't exclusively related to the Python programming language. However, these topics are important for your path to becoming a capable and versatile developer, whether you want to use your skills privately or as a profession.

At the end of this course module, you'll build a project that uses Python to interact with data provided over the internet. You'll programmatically connect and retrieve this data and include it in programs that you build locally on your computer.

You'll venture out into the world-wide-web, where the internet is a messy place that consists of thousands of different technologies. You'll keep using Python to accomplish your tasks, but there are some more general software development topics that you'll learn to be able to do so safely and productively.

You'll learn how to:

  • install and use third-party Python packages
  • create virtual environments to compartmentalize your development environment
  • use environment variables to separate sensitive information and settings from your production code
  • interact with APIs that offer data over the internet
  • create and work with databases to store and retrieve your data

You'll also keep learning more about Python and how you can debug your Python programs, as well as how to use specific Python tools to intersect with and tackle some of these challenges.

Summary: Intro to Python Virtual Environments

You've already learned a lot up to this point, both about Python and programming, as well as related concepts that you might not encounter in pure Python-focused courses.

Programming is more than just programming.

What's Up Next

Moving forward, this module will help you learn more Python, but it'll also start to focus on more general concepts that are part of your tasks as a developer, as well as highlighting how to intersect them with your Python skills.

In this section, you'll learn about external Python packages, as well as how you can install them in virtual environments (venvs), and use these venvs to automate some of your project-specific settings.