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

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


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

Beginner • 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
    1m 26s
  2. What Is Python?
    15m 50s
  3. When and Where Is Python Being Used?
    23m 30s
  4. First Steps with Python
    12m 16s
  5. Continuing Your Python Journey
    12m 14s

Python: Getting Started

by Bo Milanovich

Apr 27, 2017 / 2h 59m

Beginner • 2h 59m

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
    1m 25s
  2. Introduction
    20m 3s
  3. Types, Statements, and Other Goodies
    53m 54s
  4. Functions, Files, Yield, and Lambda
    35m 1s
  5. Object Oriented Programming - Classes and Why Do We Need Them?
    35m 43s
  6. Putting It All Together - Let’s Make It a Web App
    11m 42s
  7. Python Tips and Tricks
    22m 3s

Python Fundamentals

by Austin Bingham, Robert Smallshire

Aug 21, 2013 / 5h 11m

Intermediate • 5h 11m

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
    13m 35s
  2. Getting Starting With Python 3
    42m 35s
  3. Strings and Collections
    17m 51s
  4. Modularity
    21m 31s
  5. Objects
    21m 13s
  6. Collections
    44m 51s
  7. Handling exceptions
    22m 7s
  8. Iterables
    32m 54s
  9. Classes
    29m 49s
  10. Files and Resource Management
    31m 14s
  11. Shipping Working and Maintainable Code
    33m 59s


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

Jul 18, 2014 / 7h 22m

Intermediate • 7h 22m

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
    5m 42s
  2. Organizing Larger Programs
    30m 7s
  3. Beyond Basic Functions
    32m 28s
  4. Closures and Decorators
    36m 57s
  5. Properties and Class Methods
    40m 47s
  6. Strings and Representations
    18m 45s
  7. Numeric and Scalar Types
    1h 2m 15s
  8. Iterables and Iteration
    29m 45s
  9. Inheritance and Subtype Polymorphism
    36m 50s
  10. Implementing Collections
    52m 48s
  11. Exceptions and Errors
    37m 48s
  12. Defining Context Managers
    29m 15s
  13. Introspection
    29m 8s

The Python Developer's Toolkit

by Reindert-Jan Ekker

Jul 18, 2014 / 2h 19m

Intermediate • 2h 19m

Start Course

Becoming a professional Python developer means knowing more than just the language. Once you make the transition from simple scripts to larger projects, it becomes important to know the tools of the trade and how to use them. This course introduces you to a set of standard tools. We'll see how to install and manage your project's dependencies and how to set up your development environment. Then we'll go into code quality, debugging and documentation. Finally, we'll see how to package and distribute the final product.

Table of contents
  1. Introduction
    3m 46s
  2. Managing Python Packages
    22m 37s
  3. Isolated Development Environments With Virtualenv
    21m 35s
  4. Checking Your Code Quality With Pylint
    18m 49s
  5. The Python Debugger
    19m 59s
  6. Documenting Your Code With Sphinx
    30m 56s
  7. Packaging and Distributing Your Project
    21m 43s

Unit Testing with Python

by Emily Bache

Nov 1, 2013 / 2h 58m

Intermediate • 2h 58m

Start Course

This course follows on from the Pluralsight "Python Fundamentals" course, and has more detail about unit testing with Python. We will cover libraries and frameworks such as unittest, doctest and py.test. The aim is to help you to write unit tests that improve code quality, and also support future development. Good unit tests should provide immediate value in terms of reduced debugging and better design, and the investment writing them should pay back over the whole lifetime of your software.

Table of contents
  1. Unit Testing with Python - Basic Example Using unittest
    34m 7s
  2. Why and When Should You Write Unit Tests?
    23m 59s
  3. Using Pytest for Unit Testing in Python
    22m 28s
  4. Testable Documentation with Doctest
    29m 11s
  5. Test Doubles: Mocks, Fakes and Stubs
    40m 50s
  6. Test Coverage and Parameterized Tests
    27m 40s


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

Beginner • 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
    9m 9s
  2. Build & Deploy Our First Web Page
    31m 58s
  3. Full Stack Web Development Python WEB2PY
    23m 43s
  4. Database Administration
    20m 44s
  5. Filtering, Sorting, Updating Records
    16m 52s
  6. Role Based Access Control
    14m 43s
  7. Relational Database Concepts
    24m 6s
  8. Miscellaneous Topics
    18m 31s
  9. Farm Fresh Sample App
    22m 45s

Advanced Python

by Robert Smallshire

Jun 24, 2017 / 3h 53m

Advanced • 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
    2m 10s
  2. Advanced Flow Control
    42m 59s
  3. Byte-oriented Programming
    42m 6s
  4. Object Internals and Custom Attributes
    30m 51s
  5. Descriptors
    22m 9s
  6. Instance Creation
    10m 47s
  7. Metaclasses
    36m 22s
  8. Class Decorators
    11m 57s
  9. Abstract Base Classes
    33m 56s

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

Register for FREE. Get your Pluralsight IQ.

You’ll get unlimited access to adaptive skill assessments that help you validate your skills in as little as 5 minutes, and you'll get to see the Pluralsight platform first-hand.

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 activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit