Check your Python learning progress and take your skills to the next level with RealPython’s interactive quizzes.
![Python Quizzes – Real Python (1) Python Quizzes – Real Python (1)](https://i0.wp.com/files.realpython.com/media/Real-Python-Quizzes-Page_Watermarked.0a38006fcf1a.jpg)
We created these online Python quizzes as a fun way for you to check your learning progress and to test your skills.
Each quiz takes you through a series of questions. Some of them are multiple choice, some will ask you to type in an answer, and some will require you to write actual Python code. As you make your way through each quiz, it keeps score of which questions you answered correctly.
At the end of each quiz you receive a grade based on your result. If you don’t score 100% on your first try—don’t fret! These quizzes are meant to challenge you and it’s expected that you go through them several times, improving your score with each run.
Browse Python Quizzes: Ready to test your Python skills? Pick a quiz below and jump right in, or search and filter quizzes by topic and skilllevel.
Interactive Quiz
A Practical Introduction to Web Scraping in PythonIn this quiz, you'll test your understanding of web scraping in Python. Web scraping is a powerful tool for data collection and analysis. By working through this quiz, you'll revisit how to parse website data using string methods, regular expressions, and HTML parsers, as well as how to interact with forms and other website components.
Interactive Quiz
Async IO in Python: A Complete WalkthroughIn this quiz, you'll test your understanding of async IO in Python. With this knowledge, you'll be able to understand the language-agnostic paradigm of asynchronous IO, use the async/await keywords to define coroutines, and use the asyncio package to run and manage coroutines.
Interactive Quiz
Basic Data Types in Python: A Quick ExplorationTake this quiz to test your understanding of the basic data types that are built into Python, like numbers, strings, bytes, and Booleans.
Interactive Quiz
Beautiful Soup: Build a Web Scraper With PythonIn this quiz, you'll revisit the main steps of the web scraping process. You'll learn how to write a script that uses Python's Requests library to scrape data from a website. You'll also use Beautiful Soup to extract the specific pieces of information that you're interested in.
Interactive Quiz
Build Command-Line Interfaces With Python's argparseIn this quiz, you'll test your understanding of creating command-line interfaces (CLIs) in Python using the argparse module. This knowledge is essential for creating user-friendly command-line apps, which are common in development, data science, and systems administration.
Interactive Quiz
Context Managers and Python's with StatementIn this quiz, you'll assess your understanding of the Python with statement and context managers. By mastering these concepts, you'll be able to write more expressive code and manage system resources more effectively, avoiding resource leaks and ensuring proper setup and teardown of external resources.
Interactive Quiz
Data Classes in PythonIn this quiz, you'll test your understanding of Python data classes.Data classes, a feature introduced in Python 3.7, are a type of class mainly used for storing data.They come with basic functionality already implemented, such as instance initialization, printing, and comparison.
Interactive Quiz
DecoratorsIn this quiz, you'll revisit the foundational concepts of what Python decorators are and how to create and use them.
Interactive Quiz
Defining Main Functions in PythonIn this quiz, you'll test your understanding of the Python main() function and the special __name__ variable. With this knowledge, you'll be able to understand the best practices for defining main() in Python.
Interactive Quiz
Documenting Python Code: A Complete GuideIn this quiz, you'll test your understanding of documenting Python code. With this knowledge, you'll be able to effectively document your Python scripts and projects, making them more understandable and maintainable.
Interactive Quiz
Effective Testing with PytestIn this quiz, you'll test your understanding of pytest, a Python testing tool. With this knowledge, you'll be able to write more efficient and effective tests, ensuring your code behaves as expected.
Interactive Quiz
Format Floats Within F-StringsIn this quiz, you'll test your understanding of how to format floats within f-strings in Python. This knowledge will let you control the precision and appearance of floating-point numbers when you incorporate them into formatted strings.
Interactive Quiz
Get Started With Django: Build a Portfolio AppIn this quiz, you'll test your understanding of Django, a fully featured Python web framework. By working through this quiz, you'll revisit the steps to create a fully functioning web application and learn about some of Django's most important features.
Interactive Quiz
Getters and Setters: Manage Attributes in PythonIn this quiz, you'll test your understanding of Python's getter and setter methods, as well as properties. You'll learn when to use these tools and how they can help maintain encapsulation in your classes.
Interactive Quiz
How to Check if a Python String Contains a SubstringIn this quiz, you'll check your understanding of the best way to check whether a Python string contains a substring. You'll also revisit idiomatic ways to inspect the substring further, match substrings with conditions using regular expressions, and search for substrings in pandas.
Interactive Quiz
How to Create Pivot Tables With pandasThis quiz is designed to push your knowledge of pivot tables a little bit further. You won't find all the answers by reading the tutorial, so you'll need to do some investigating on your own. By finding all the answers, you're sure to learn some other interesting things along the way.
Interactive Quiz
How to Run Your Python ScriptsOne of the most important skills you need to build as a Python developer is to be able to run Python scripts and code. Test your understanding on how good you are with running your code.
Interactive Quiz
HTTP Requests With the "requests" LibraryTest your understanding of the Python "requests" library for making HTTP requests and interacting with web services.
Interactive Quiz
Implementing an Interface in PythonIn this quiz, you'll test your understanding of Python interfaces and their role in software engineering. You'll learn how interfaces can help manage complexity in a growing application and how to implement them in Python.
Interactive Quiz
Inheritance and Composition: A Python OOP GuideIn this quiz, you'll test your understanding of inheritance and composition in Python. These are two major concepts in object-oriented programming that help model the relationship between two classes. By working through this quiz, you'll revisit how to use inheritance and composition in Python, model class hierarchies, and use multiple inheritance.
Interactive Quiz
Install and Execute Python Applications Using pipxIn this quiz, you'll test your understanding of how Python apps are run from isolated virtual environments using the pipx tool. With this knowledge, you'll be able to safely run Python apps that are installed globally in your operating system.
Interactive Quiz
Linear Regression in PythonIn this quiz, you'll test your knowledge of linear regression in Python. Linear regression is one of the fundamental statistical and machine learning techniques, and Python is a popular choice for machine learning.
Interactive Quiz
Logging in PythonIn this quiz, you'll test your understanding of Python's logging module. With this knowledge, you'll be able to add logging to your applications, which can help you debug errors, and analyze performance.
Interactive Quiz
Managing Multiple Python Versions With pyenvIn this quiz, you'll test your understanding of how to use pyenv to manage multiple versions of Python. Pyenv allows you to try out new Python features without disrupting your development environment, and quickly switch between different Python versions.
Interactive Quiz
Model-View-Controller (MVC) in Python Web Apps: Explained With LegoIn this quiz, you'll test your understanding of the Model-View-Controller (MVC) design pattern, a fundamental concept in many Python web frameworks. By working through this quiz, you'll revisit the concepts of Models, Views, and Controllers, and how they relate to concrete web development examples.
Interactive Quiz
Object-Oriented Programming (OOP) in Python 3Object-oriented programming (OOP) is a method of structuring a program by bundling related properties and behaviors into individual objects.
Interactive Quiz
Practical Prompt EngineeringIn this quiz, you'll test your understanding of prompt engineering techniques with large language models (LLMs) like GPT-3.5 and GPT-4. You'll revisit how to work with OpenAI's API, apply prompt engineering techniques to practical examples, and use various strategies to improve your results.
Interactive Quiz
Python and REST APIs: Interacting With Web ServicesIn this quiz, you'll test your understanding of REST APIs and how to interact with them using Python. With this knowledge, you'll be able to retrieve, parse, update, and manipulate data provided by any RESTful API that you're interested in.
Interactive Quiz
Python args and kwargs: DemystifiedIn this quiz, you'll test your understanding of how to use *args and **kwargs in Python. With this knowledge, you'll be able to add more flexibility to your functions.
Interactive Quiz
Python Basics: Building Systems With ClassesYou can use classes to build complex systems in Python. By composing classes, inheriting from other classes, and overriding class behavior, you'll harness the power of object-oriented programming (OOP).
Interactive Quiz
Python Basics: Code Your First Python ProgramWith Python installed, you're ready ready to start coding! It's time to write your first Python program.
Interactive Quiz
Python Basics: Conditional Logic and Control FlowWith conditional logic, you can write programs that perform different actions based on different conditions. Paired with functions and loops, conditional logic allows you to write complex programs that can handle many different situations.
Interactive Quiz
Python Basics: DictionariesPython dictionaries, like lists and tuples, store a collection of objects. However, instead of storing objects in a sequence, dictionaries hold information in pairs of data called key-value pairs.
Interactive Quiz
Python Basics: File System OperationsThe pathlib module allows you to carry out file path operations with Python. These operations include creating, iterating over, searching for, moving, and deleting files and folders.
Interactive Quiz
Python Basics: Finding and Fixing Code BugsLogic errors occur when an otherwise valid program doesn't do what was intended. They cause unexpected behaviors called bugs. Removing bugs is called debugging, and a debugger is a tool that helps you hunt down bugs and understand why they're happening.
Interactive Quiz
Python Basics: Functions and LoopsFunctions break code into smaller chunks and are great for defining actions that a program will execute several times throughout your code. Instead of writing the same code each time the program needs to perform the same task, just call the function!
Interactive Quiz
Python Basics: Installing Packages With pip QuizEven though Python is famous for coming with batteries included, you'll still find yourself in need of a third-party library from time to time. You can install such packages with pip.
Interactive Quiz
Python Basics: Modules and PackagesYou can build an application by putting related code into separate files called modules. Then, you can use the import statement to use modules in another file.
Interactive Quiz
Python Basics: Numbers and MathYou don't need to be a math whiz to program well, but numbers are an integral part of any programming language. Python is no exception.
Interactive Quiz
Python Basics: Object-Oriented ProgrammingOOP, or object-oriented programming, is a method of structuring a program by bundling related properties and behaviors into individual objects. In this quiz, you'll test your understanding of OOP.
Interactive Quiz
Python Basics: Reading and Writing Files QuizBy reading and writing files, you can move data back and forth between your Python programs and external software. The CSV file format is particularly useful, as it's one of the most widely supported file formats for transferring tabular data.
Interactive Quiz
Python Basics: ScopesTo fully understand functions and loops in Python, you need to be familiar with the issue of scope, which determines where a name is visible within your program.
Interactive Quiz
Python Basics: Strings and String MethodsStrings are a fundamental data type in Python. In simplified terms, strings are collections of text, and they show up in many contexts. For example, strings can come from user input, data read from a file, or messages sent by equipment talking over a network.
Interactive Quiz
Python Classes - The Power of Object-Oriented ProgrammingIn this quiz, you'll test your understanding of Python classes. With this knowledge, you'll be able to define reusable pieces of code that encapsulate data and behavior in a single entity, model real-world objects, and solve complex problems.
Interactive Quiz
Python ConcurrencyThis is a quiz that will review topics covered in our Speed Up Your Python Program With Concurrency tutorial.
Interactive Quiz
Python Conditional StatementsTest your understanding of Python conditional statements
Interactive Quiz
Python DictionariesTest your understanding of Python dictionaries
Interactive Quiz
Python Dictionary IterationDictionaries are one of the most important and useful data structures in Python. Learning how to iterate through a Dictionary can help you solve a wide variety of programming problems in an efficient way. Test your understanding on how you can use them better!
Interactive Quiz
Python Exceptions: An IntroductionIn this quiz, you'll test your understanding of Python exceptions. You'll cover the difference between syntax errors and exceptions and learn how to raise exceptions, make assertions, and use the try and except block.
Interactive Quiz
Python Folium: Create Web Maps From Your DataPython’s Folium library gives you access to the mapping strengths of the Leaflet JavaScript library through a Python API. It allows you to create interactive geographic visualizations that you can share as a website.
Interactive Quiz
Python F-StringsIn this quiz, you'll test your knowledge of Python f-strings. With this knowledge, you'll be able to include all sorts of Python expressions inside your strings.
Interactive Quiz
Python GUI Programming With TkinterIn this quiz, you'll test your understanding of Python GUI Programming With Tkinter, the de facto Python GUI framework. Check your knowledge of GUI programming concepts such as widgets, geometry managers, and event handlers.
Interactive Quiz
Python Installation and SetupIn this quiz, you'll test your understanding of how to install or update Python on your computer. With this knowledge, you'll be able to set up Python on various operating systems, including Windows, macOS, and Linux.
Interactive Quiz
Python Lambda FunctionsPython lambdas are little, anonymous functions, subject to a more restrictive but more concise syntax than regular Python functions. Test your understanding on how you can use them better!
Interactive Quiz
Python Lists and TuplesTest your understanding of Python lists and tuples.
Interactive Quiz
Python MappingsIn this quiz, you'll test your understanding of the basic characteristics and operations of Python mappings. By working through this quiz, you'll revisit the key concepts and techniques of creating a custom mapping.
Interactive Quiz
Python Modules and PackagesIn this quiz, you'll test your understanding of Python modules and packages, which are mechanisms that facilitate modular programming. Modular programming involves breaking a large programming task into smaller, more manageable subtasks or modules. This approach has several advantages, including simplicity, maintainability, and reusability.
Interactive Quiz
Python Name-Main IdiomTest your knowledge of Python's if __name__ == "__main__" idiom by answering a series of questions! You've probably encountered the name-main idiom and might have even used it in your own scripts. But did you use it correctly?
Interactive Quiz
Python Operators and ExpressionsTest your understanding of Python operators and expressions.
Interactive Quiz
Python Program StructureTest your understanding of Python program structure.
Interactive Quiz
Python Raw StringsIn this quiz, you can practice your understanding of how to use raw string literals in Python. With this knowledge, you'll be able to write cleaner and more readable regular expressions, Windows file paths, and many other string literals that deal with escape character sequences.
Interactive Quiz
Python's enumerate()Once you learn about for loops in Python, you know that using an index to access items in a sequence isn't very Pythonic. So what do you do when you need that index value? In this tutorial, you'll learn all about Python's built-in enumerate(), where it's used, and how you can emulate its behavior.
Interactive Quiz
Python Sequences: A Comprehensive GuideIn this quiz, you'll test your understanding of sequences in Python. You'll revisit the basic characteristics of a sequence, operations common to most sequences, special methods associated with sequences, and how to create user-defined mutable and immutable sequences.
Interactive Quiz
Python SetsTest your understanding of sets in Python, a commonly used data structure.
Interactive Quiz
Python's property(): Add Managed Attributes to Your ClassesIn this quiz, you'll test your understanding of Python's property(). With this knowledge, you'll be able to create managed attributes in your classes, perform lazy attribute evaluation, provide computed attributes, and more.
Interactive Quiz
Python's raise: Effectively Raising Exceptions in Your CodeIn this quiz, you'll test your understanding of how to raise exceptions in Python using the raise statement. This knowledge will help you handle errors and exceptional situations in your code, leading to more robust programs and higher-quality code.
Interactive Quiz
Python String Formatting: Available Tools and Their FeaturesTake this quiz to test your understanding of the available tools for string formatting in Python, as well as their strengths and weaknesses. These tools include f-strings, the .format() method, and the modulo operator.
Interactive Quiz
Python Strings and Character DataTest your understanding of Python strings and character data.
Interactive Quiz
Python's unittest: Writing Unit Tests for Your CodeIn this quiz, you'll test your understanding of Python testing with the unittest framework from the standard library. With this knowledge, you'll be able to create basic tests, execute them, and find bugs before your users do.
Interactive Quiz
Python ThreadingThis is a quiz that will review topics covered in our An Intro To Threading tutorial.
Interactive Quiz
Python time.sleep()In this quiz, you'll revisit how to add time delays to your Python programs.
Interactive Quiz
Python VariablesTest your understanding of Python variables and object references.
Interactive Quiz
Python Virtual Environments: A PrimerIn this quiz, you'll test your understanding of Python virtual environments. With this knowledge, you'll be able to avoid dependency conflicts and help other developers reproduce your development environment.
Interactive Quiz
Python "while" LoopsTest your understanding of Python while loops
Interactive Quiz
Reading and Writing CSV Files in PythonThis quiz will check your understanding of what a CSV file is and the different ways to read and write to them in Python.
Interactive Quiz
Reading and Writing Files in PythonA quiz used for testing the user's knowledge of the topics covered in the Reading and Writing Files in Python article.
Interactive Quiz
Reading and Writing WAV Files in PythonIn this quiz, you can test your knowledge of handling WAV audio files in Python with the wave module. By applying what you've learned, you'll demonstrate your ability to synthesize sounds, analyze and visualize waveforms, create dynamic spectrograms, and enhance audio with special effects.
Interactive Quiz
Rounding Numbers in PythonTest your knowledge of rounding numbers in Python.
Interactive Quiz
Socket Programming in PythonIn this quiz, you'll test your understanding of Python sockets. With this knowledge, you'll be able to create your own client-server applications, handle multiple connections simultaneously, and send messages and data between endpoints.
Interactive Quiz
Splitting, Concatenating, and Joining Strings in PythonIn this quiz, you can test your Python skills when it comes to the most fundamental string operations: splitting, concatenating, and joining.
Interactive Quiz
String Interpolation in Python: Exploring Available ToolsTake this quiz to test your understanding of the available tools for string interpolation in Python, as well as their strengths and weaknesses. These tools include f-strings, the .format() method, and the modulo operator.
Interactive Quiz
Supercharge Your Classes With Python super()In this quiz, you'll test your understanding of inheritance and the `super()` function in Python. By working through this quiz, you'll revisit the concept of inheritance, multiple inheritance, and how the `super()` function works in both single and multiple inheritance scenarios.
Interactive Quiz
The Python calendar ModuleIn this quiz, you'll test your understanding of the calendar module in Python. It'll evaluate your proficiency in manipulating, customizing, and displaying calendars directly within your terminal. By working through this quiz, you'll revisit the fundamental functions and methods provided by the calendar module.
Interactive Quiz
The Python for LoopIn this quiz, you'll test your understanding of Python's `for` loop and the concepts of definite iteration, iterables, and iterators. With this knowledge, you'll be able to perform repetitive tasks in Python more efficiently.
Interactive Quiz
The Python print() FunctionIn this interactive quiz, you can revisit what you know about Python's print() function. You'll also get to quiz yourself about some of its lesser-known features.
Interactive Quiz
The Python return StatementIn this quiz, you can practice your understanding of how to use the Python return statement when writing functions. Additionally, you'll cover some good programming practices related to the use of return. With this knowledge, you'll be able to write readable, robust, and maintainable functions in Python.
Interactive Quiz
Understanding the Python Mock Object LibraryIn this quiz, you'll test your understanding of Python's unittest.mock library. With this knowledge, you'll be able to write robust tests, create mock objects, and ensure your code is reliable and efficient.
Interactive Quiz
Using and Creating Global Variables in Your Python FunctionsIn this quiz, you'll test your understanding of how to use global variables in Python functions. With this knowledge, you'll be able to share data across an entire program, modify and create global variables within functions, and understand when to avoid using global variables.
Interactive Quiz
What Are CRUD Operations?In this quiz, you'll revisit the key concepts and techniques related to CRUD operations. These operations are fundamental to any system that interacts with a database, and understanding them is crucial for effective data management.
Interactive Quiz
What Is the __pycache__ Folder in Python?In this quiz, you'll have the opportunity to test your knowledge of the __pycache__ folder, including when, where, and why Python creates these folders.
Interactive Quiz
What's Lazy Evaluation in Python?In this quiz, you'll test your understanding of the differences between lazy and eager evaluation in Python. By working through this quiz, you'll revisit how Python optimizes memory use and computational overhead by deciding when to compute values.
Interactive Quiz
Working With JSON Data in PythonIn this quiz, you'll test your understanding of working with JSON in Python. JSON has become the de facto standard for information exchange, and Python provides easy-to-use tools to handle JSON data.
Interactive Quiz
Write Pythonic and Clean Code With namedtupleIn this quiz, you'll test your understanding of Python's namedtuple() function from the collections module. This function allows you to create immutable sequence types that you can access using descriptive field names and dot notation.
Got feedback on our quizzes?