Authors: Jason Olson, Bo Milanovich, Austin Bingham, Robert Smallshire, Sarah Holderness, Reindert-Jan Ekker, Emily Bache, Tom Bell, Terry Toy

Python is an interpreted object-oriented programming language. It is open source, so the interpreter and source are freely available and distributable in binary form. Python has... Read more

What you will learn

  • Syntax
  • Python objects
  • Scalar types
  • Operators
  • String I/O
  • Functions
  • Python modules
  • Collections
  • Python best practices


Basic familiarity with the fundamental concepts of programming HTML


Are you a programming beginner? Maybe you've just started, or maybe you've taken a couple of entry-level programming classes and want to learn more. The beginner courses here will show you the basics of object-oriented programming (OOP) while teaching you the simple and functional Python programming language. When you've completed this section, you'll be ready to move on to improving your code quality.

Python: The Big Picture

by Jason Olson

Jan 26, 2018 / 1h 5m

1h 5m

Start Course

At the heart of creating software is being able to use the right tool for the right job. In this course, Python: The Big Picture, you'll learn about the Python programming language. First, you'll learn what Python is, what makes it different, and why you should care. Next, you'll explore the different ways Python is being used to develop different types of applications today. Finally, you'll discover how to get started working with Python code and what next steps you can take in your Python journey. When you're finished with this course, you'll have a foundational knowledge of Python that will help you as you move forward to recognizing when Python is the right tool for any future jobs you are faced with as a software developer.

Table of contents
  1. Course Overview
  2. What Is Python?
  3. When and Where Is Python Being Used?
  4. First Steps with Python
  5. Continuing Your Python Journey

Python: Getting Started

by Bo Milanovich

Apr 27, 2017 / 2h 60m

2h 60m

Start Course

Hello, and welcome to Python: Getting Started, part of the Python Learning Path here at Pluralsight. My name is Bo Milanovich, and I’m looking forward to helping you learn this powerful and versatile language. Along the way, you’re going to be learning about things like syntax, functions, and classes, exploring how to create a console application and how to convert that same app into a web app, as well learn how to create executable files and an installation wizard from your Python app. In addition to Python, you’ll also be using Flask and Pycharm. This is a beginner-friendly course, but you’ll want to make sure you’re already up to speed on programming basics, such as what a function does and what a variable is. So if you’re ready to get going, Python: Getting Started is waiting for you. Thanks again for visiting me here at Pluralsight!

Table of contents
  1. Course Overview
  2. Introduction
  3. Types, Statements, and Other Goodies
  4. Functions, Files, Yield, and Lambda
  5. Object Oriented Programming - Classes and Why Do We Need Them?
  6. Putting It All Together - Let’s Make It a Web App
  7. Python Tips and Tricks

Python Fundamentals

by Austin Bingham

Sep 26, 2017 / 5h 12m

5h 12m

Start Course

Python Fundamentals gets you started with Python, a dynamic language popular for web development, big data, science, and scripting. What’s so great about Python? Python is powerful. The Python language is expressive and productive, it comes with a great standard library, and it’s the center of a huge universe of wonderful third-party libraries. With Python you can build everything from simple scripts to complex applications, you can do it quickly, and you can do it with fewer lines of code than you might think possible. But for many people those reasons take back-seat to something more important: Python is fun! Python’s readable style, quick edit-and-run development cycle, and “batteries included” philosophy mean that you can sit down and enjoy writing code rather than fighting compilers and thorny syntax. As your experiments become prototypes and your prototypes become products, Python makes the experience of writing software not just easier but truly enjoyable. In the words of Randall Munroe, "Come join us! Programming is fun again!"

Table of contents
  1. Introduction to the Python Fundamentals Course
  2. Getting Starting With Python 3
  3. Strings and Collections
  4. Modularity
  5. Objects
  6. Collections
  7. Handling exceptions
  8. Iterables
  9. Classes
  10. Files and Resource Management
  11. Shipping Working and Maintainable Code

Python: Variables, Data Types, and Conditionals

by Sarah Holderness

Jun 1, 2018 / 1h 29s

1h 29s

Start Course

Explore the basics of Python and learn what it means to store and manipulate numbers and words as well as make decisions with your program. This interactive course was formerly known as Try Python on Code School.

Table of contents
  1. Birds & Coconuts2 Videos - 0 Challenge
  2. Spam & Strings2 Videos - 4 Challenges
  3. Conditional Rules of Engagement2 Videos - 4 Challenges

Python: Using Lists, Dictionaries, Loops, Files, and Modules

by Sarah Holderness

Oct 1, 2018 / 2h 18m

2h 18m

Start Course

Explore more Python basics and use them to help manage our circus and its Spam Van food truck. This interactive course was formerly known as Flying Through Python on Code School.

Table of contents
  1. Lists and Dictionaries3 Videos - 4 Challenges
  2. Loops3 Videos - 5 Challenges
  3. Functions3 Videos - 5 Challenges
  4. Reading and Writing Files3 Videos - 5 Challenges
  5. Modules2 Videos - 2 Challenges


The intermediate courses you see here will teach you to improve your code. You'll dive deeper into unit testing and debugging, as well as learn some of the more advanced features of the Python language.

Python – Beyond the Basics

by Austin Bingham

Jul 18, 2014 / 7h 23m

7h 23m

Start Course

Python – Beyond the Basics builds directly on the foundations laid in our introductory Python course, Python Fundamentals. Python is a great dynamic language for web development, big data, science, and scripting. In this course we add breadth and depth to your Python skills, exploring the topics you'll need to create robust and readable applications of any size. On completing this course, you'll be familiar with the majority of Python techniques and constructs used in Python programs. Crucially, we'll also advise you on when – and when not – to use the different tools available in Python to best effect, to maximize the quality of your code, your productivity, and the joy inherent in coding in Python.

Table of contents
  1. Prerequisites
  2. Organizing Larger Programs
  3. Beyond Basic Functions
  4. Closures and Decorators
  5. Properties and Class Methods
  6. Strings and Representations
  7. Numeric and Scalar Types
  8. Iterables and Iteration
  9. Inheritance and Subtype Polymorphism
  10. Implementing Collections
  11. Exceptions and Errors
  12. Defining Context Managers
  13. Introspection

Python Best Practices for Code Quality

by Reindert-Jan Ekker

May 17, 2019 / 1h 11m

1h 11m

Start Course

In need of core skills for any level python development? In this course, Python Best Practices for Code Quality, you will learn a number of best practices that will help you improve the quality of your Python code. First, you will discover the guidelines for formatting code called Pep8. Next, you will create beautiful and publishable documentation with Python docstrings and a tool called Sphinx. Finally. you will explore how to improve maintainability and prevent errors by adding type hints to your code. By the end of this course, you will be able to write clearer, more readable and more maintainable code with better documentation.

Table of contents
  1. Course Overview
  2. Following Python Style Guidelines: PEP8 and Pylint
  3. Documenting Your Project
  4. Improve Your Code with Type Checking

Managing Python Packages and Virtual Environments

by Reindert-Jan Ekker

Feb 2, 2019 / 1h 24m

1h 24m

Start Course

Most real-world Python projects make use of code written by others, and usually this code is included by installing Python packages. In this course, Managing Python Packages and Virtual Environments, you will learn everything you need to install and manage the packages your project requires using pip, the Python package installer. When you start working on more than a single project, you will find that there's a need to install packages for one project separately from another project. You will come to understand that there's a tool for this situation as well: virtualenv, and no professional Python developer can go without it. First, you will explore everything you need to know in order to use virtual environments on a daily basis. After covering these two core tools, you will then discover other tools that you should at least be aware of such as virtualenvwrapper, which makes managing virtual environments a lot less painful. Finally, you will discover two newer tools: pipenv and poetry, and the direction the Python community is headed. By the end of this course, you will learn how to manage the requirements of your Python projects using virtual environments and pip,

Table of contents
  1. Course Overview
  2. Managing Python Packages with pip
  3. Setting up Your Project with Virtual Environments
  4. Using virtualenvwrapper to Make Your Life Easier
  5. Choosing the Right Tools

Unit Testing with Python

by Emily Bache

Jun 28, 2019 / 2h 50m

2h 50m

Start Course

Once you’ve learned the basics of the Python language and started building programs, you will soon realize a need for some automated tests to make sure everything you’ve built keeps on working as you (and other developers) extend and improve it. In this course, Unit Testing with Python, you will learn foundational knowledge in unit testing. First, you will discover how to write and run tests using the ‘unittest’ framework, and some theory about how to design good test cases. Next, you will explore other popular testing frameworks in Python - pytest and doctest. Finally, you will examine how to use test doubles effectively, and techniques for parameterized testing and measuring test coverage. When you’re finished with this course, you will have the skills and knowledge of writing unit tests needed to be confident adding tests for the code you write, and sharing those tests with other developers.

Table of contents
  1. Course Overview
  2. Unit Test Fundamentals
  3. Unit Testing Why and When
  4. Unit Testing with pytest
  5. Testable Documentation with doctest
  6. Using Test Doubles
  7. Parameterized Tests & Test Coverage

Build a Job Board with Python & Flask

by Tom Bell

Sep 27, 2018 / 2h 35m

2h 35m

Start Project

Python & Flask are great for building a simple website. In this project, you'll use them to build a simple job board. The main page of the site will show all jobs and each job and employer will have dedicated pages. Users will also be able to review each employer.

Project overview
  1. Setup15m
  2. Flask Setup10m
  3. Base Template and Styling15m
  4. Preparing for Dynamic Content30m
  5. Display All Jobs30m
  6. Display Individual Jobs15m
  7. Display Individual Employers25m
  8. Employer Reviews15m


Our advanced Python track will show you how you can apply your newfound skill. You'll learn full-stack web development, as well as some techniques that will help you implement advanced frameworks.

Full Stack Web Development with Python (WEB2PY)

by Terry Toy

Aug 21, 2015 / 3h 3m

3h 3m

Start Course

Learn full stack web development using Python and WEB2PY. WEB2PY is an easy to learn, integrate framework that includes a web server, admin, bootstap, and sqlite database. One simple download has everything you need to build robust, data driven web applications. This project-based course is for beginners new to web development or those who want to quickly learn a Python web framework.

Table of contents
  1. Introduction
  2. Build & Deploy Our First Web Page
  3. Full Stack Web Development Python WEB2PY
  4. Database Administration
  5. Filtering, Sorting, Updating Records
  6. Role Based Access Control
  7. Relational Database Concepts
  8. Miscellaneous Topics
  9. Farm Fresh Sample App

Advanced Python

by Robert Smallshire

Jun 24, 2017 / 3h 53m

3h 53m

Start Course

Over time, Python has exploded in popularity, from being an obscure scripting language to becoming one of the most popular, and widely used languages in the world. In this course, Advanced Python, you'll learn advanced topics, a knowledge of which will set you apart from the greater number of Python developers. First, you'll explore how to gain fine-grained control over attribute access. Next, you'll discover how to intercept class-object construction. Finally, you'll learn the subtle, but powerful, controls Python gives you over class relationships. By the end of this course, you'll know enough Python to understand the advanced techniques used to implement sophisticated frameworks and much more.

Table of contents
  1. Course Overview
  2. Advanced Flow Control
  3. Byte-oriented Programming
  4. Object Internals and Custom Attributes
  5. Descriptors
  6. Instance Creation
  7. Metaclasses
  8. Class Decorators
  9. Abstract Base Classes
Offer Code *
Email * First name * Last name *
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit