Authors: Jason Olson, 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

Core Python: Getting Started

by Austin Bingham

Dec 12, 2019 / 4h 5m

4h 5m

Start Course

Python is a big language, and it's important to have a thorough grounding in its key concepts in order to be productive and create high-quality Python programs. In our experience, starting off in the right direction and avoiding early misconceptions is crucial to success with Python, and that's the kind of start we aim to provide. In this course, Core Python: Getting Started, we are going to introduce you to the essentials of the Python language as well as important parts of the Python standard library. Some of the major topics that we will cover include: Python's fundamental data types, using functions and modules to organize your code, Python's underlying object model, defining your own types using classes, and working with iteration and iterable objects. By the end this course, you'll have the skills and knowledge to work on almost any Python project, and you'll be in a great position to continue learning more advanced aspects of the language.

Table of contents
  1. Course Overview
  2. Installing and Starting Python
  3. Scalar Types, Operators, and Control Flow
  4. Introducing Strings, Collections, and Iteration
  5. Modularity
  6. Objects and Types
  7. Built-in Collections
  8. Exceptions
  9. Iteration and Iterables
  10. Classes
  11. File IO and Resource Managements

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 Robert Smallshire

Jul 18, 2014 / 7h 21m

7h 21m

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
  • Scripting
In this course we add breadth and depth to your Python skills, learning 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 10m

1h 10m

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 23m

1h 23m

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 49m

2h 49m

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 2m

3h 2m

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 52m

3h 52m

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 Advanced Python tutorial, 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 advanced Python tutorial, 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