âšď¸ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://realpython.com/courses/python-metaclasses/ |
| Last Crawled | 2026-04-07 07:14:57 (2 hours ago) |
| First Indexed | 2023-05-16 14:23:04 (2 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Metaclasses in Python â Real Python |
| Meta Description | Metaclasses are an important but mysterious behind-the-scenes mechanism for instantiating classes in Python. In this video course, you'll learn how Python's metaclasses work in object-oriented programming. |
| Meta Canonical | null |
| Boilerpipe Text | In Python, everything is an object, even the classes that create objects. You
used a class to instantiate an object instance, but classes themselves are
also instantiated behind the scenes. This mechanism is available to you as a
programmer through the concept of metaclasses.
Metaclasses allow you to hook
when classes are created, and this technique is whatâs behind magical
frameworks like Django and SQLAlchemy where class definitions have side
effects that impact databases.
In this course youâll learn about how:
Everything really is an object, including classes themselves
The
type()
function works
Classes instantiate objects and get instantiated themselves
You can hook class instantiation with the metaclass argument
Metaclasses arenât for the faint of heart, but they do allow you to do some magic. Plus, learning about them can help you understand what exactly happens behind the scenes when you instantiate a class.
Whatâs Included:
7 Lessons
Video Subtitles and Full Transcripts
2 Downloadable Resources
Accompanying Text-Based Tutorial
Q&A With Python Experts: Ask a Question
Certificate of Completion
Downloadable Resources:
Course Slides (PDF)
Sample Code (ZIP)
Related Learning Paths:
Python Metaprogramming |
| Markdown | [](https://realpython.com/)
- [Start Here](https://realpython.com/start-here/)
- [Learn Python](https://realpython.com/courses/python-metaclasses/)
[Python Tutorials â In-depth articles and video courses](https://realpython.com/search?kind=article&kind=course&order=newest)
[Learning Paths â Guided study plans for accelerated learning](https://realpython.com/learning-paths/)
[Quizzes & Exercises â Check your learning progress](https://realpython.com/quizzes/)
[Browse Topics â Focus on a specific area or skill level](https://realpython.com/tutorials/all/)
[Community Chat â Learn with other Pythonistas](https://realpython.com/community/)
[Office Hours â Live Q\&A calls with Python experts](https://realpython.com/office-hours/)
[Live Courses â Live, instructor-led Python courses](https://realpython.com/live/)
[Podcast â Hear whatâs new in the world of Python](https://realpython.com/podcasts/rpp/)
[Books â Round out your knowledge and learn offline](https://realpython.com/products/books/)
[Reference â Concise definitions for common Python terms](https://realpython.com/ref/)
[Code Mentor âBeta Personalized code assistance & learning tools](https://realpython.com/mentor/)
[Unlock All Content â](https://realpython.com/account/join/)
- [More](https://realpython.com/courses/python-metaclasses/)
[Learner Stories](https://realpython.com/learner-stories/) [Python Newsletter](https://realpython.com/newsletter/) [Python Job Board](https://www.pythonjobshq.com/) [Meet the Team](https://realpython.com/team/) [Become a Contributor](https://realpython.com/jobs/)
- [Search](https://realpython.com/search "Search")
- [Join](https://realpython.com/account/join/)
- [SignâIn](https://realpython.com/account/login/?next=%2Fcourses%2Fpython-metaclasses%2F)
[](https://realpython.com/courses/python-metaclasses/continue/)
# Metaclasses in Python
[](https://realpython.com/courses/python-metaclasses/#team)
[Christopher Trudeau](https://realpython.com/courses/python-metaclasses/#team) 7 Lessons
51m
[advanced](https://realpython.com/tutorials/advanced/) [python](https://realpython.com/tutorials/python/)
[Start Now](https://realpython.com/courses/python-metaclasses/continue/)
[Rate and Review](https://realpython.com/feedback/survey/course/python-metaclasses/feedback/?from=course)
Share
In Python, everything is an object, even the classes that create objects. You used a class to instantiate an object instance, but classes themselves are also instantiated behind the scenes. This mechanism is available to you as a programmer through the concept of metaclasses.
Metaclasses allow you to hook when classes are created, and this technique is whatâs behind magical frameworks like Django and SQLAlchemy where class definitions have side effects that impact databases.
**In this course youâll learn about how:**
- Everything really is an object, including classes themselves
- The `type()` function works
- Classes instantiate objects and get instantiated themselves
- You can hook class instantiation with the metaclass argument
Metaclasses arenât for the faint of heart, but they do allow you to do some magic. Plus, learning about them can help you understand what exactly happens behind the scenes when you instantiate a class.
**Whatâs Included:**
- 7 Lessons
- Video Subtitles and Full Transcripts
- 2 Downloadable Resources
- Accompanying Text-Based Tutorial
- [Q\&A With Python Experts: Ask a Question](https://realpython.com/courses/python-metaclasses/discussion/)
- Certificate of Completion
**Downloadable Resources:**
- [Course Slides (PDF)](https://realpython.com/courses/python-metaclasses/downloads/python-metaclasses-slides/)
- [Sample Code (ZIP)](https://realpython.com/courses/python-metaclasses/downloads/python-metaclasses-code/)
**Related Learning Paths:**
- [Python Metaprogramming](https://realpython.com/learning-paths/metaprogramming-in-python/)
[Start Now](https://realpython.com/courses/python-metaclasses/continue/)
## Metaclasses in Python
7 Lessons 51m
[Start Now](https://realpython.com/videos/python-metaclasses-overview/)
About **Christopher Trudeau**
[ ](https://realpython.com/team/ctrudeau/)
Christopher has a passion for the Python language and writes, records, and podcasts for Real Python. He is a consultant who helps advise organizations on how to improve their technical teams.
[Âť More about Christopher](https://realpython.com/team/ctrudeau/)
***
*Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:*
[](https://realpython.com/team/asantos/)
[Aldren](https://realpython.com/team/asantos/)
[](https://realpython.com/team/cbailey/)
[Christopher](https://realpython.com/team/cbailey/)
[](https://realpython.com/team/kfinegan/)
[Kate](https://realpython.com/team/kfinegan/)
[](https://realpython.com/team/tmoore/)
[Tappan](https://realpython.com/team/tmoore/)
[](https://realpython.com/team/jsturtz/)
[John](https://realpython.com/team/jsturtz/)
[](https://realpython.com/team/dbader/)
[Dan](https://realpython.com/team/dbader/)
[](https://realpython.com/team/jjablonski/)
[Joanna](https://realpython.com/team/jjablonski/)
#### Related Courses:
[](https://realpython.com/courses/python-descriptors/?utm_source=realpython&utm_medium=web&utm_campaign=related-course&utm_content=python-metaclasses)
[Python Descriptors](https://realpython.com/courses/python-descriptors/?utm_source=realpython&utm_medium=web&utm_campaign=related-course&utm_content=python-metaclasses)
[](https://realpython.com/courses/start-building-with-fastapi/?utm_source=realpython&utm_medium=web&utm_campaign=related-course&utm_content=python-metaclasses)
[Start Building With FastAPI](https://realpython.com/courses/start-building-with-fastapi/?utm_source=realpython&utm_medium=web&utm_campaign=related-course&utm_content=python-metaclasses)
[](https://realpython.com/courses/using-terminal-windows/?utm_source=realpython&utm_medium=web&utm_campaign=related-course&utm_content=python-metaclasses)
[Using the Terminal on Windows](https://realpython.com/courses/using-terminal-windows/?utm_source=realpython&utm_medium=web&utm_campaign=related-course&utm_content=python-metaclasses)
[â Browse All Courses](https://realpython.com/search?kind=course)
##### Learn Python
- [Start Here](https://realpython.com/start-here/)
- [Learning Resources](https://realpython.com/search)
- [Code Mentor](https://realpython.com/mentor/)
- [Python Reference](https://realpython.com/ref/)
- [Python Cheat Sheet](https://realpython.com/cheatsheets/python/)
- [Support Center](https://support.realpython.com/)
##### Courses & Paths
- [Learning Paths](https://realpython.com/learning-paths/)
- [Quizzes & Exercises](https://realpython.com/quizzes/)
- [Browse Topics](https://realpython.com/tutorials/all/)
- [Live Courses](https://realpython.com/live/)
- [Books](https://realpython.com/books/)
##### Community
- [Podcast](https://realpython.com/podcasts/rpp/)
- [Newsletter](https://realpython.com/newsletter/)
- [Community Chat](https://realpython.com/community/)
- [Office Hours](https://realpython.com/office-hours/)
- [Learner Stories](https://realpython.com/learner-stories/)
##### Membership
- [Plans & Pricing](https://realpython.com/account/join/)
- [Team Plans](https://realpython.com/account/join-team/)
- [For Business](https://realpython.com/account/join-team/inquiry/)
- [For Schools](https://realpython.com/account/join-team/education-inquiry/)
- [Reviews](https://realpython.com/learner-stories/)
##### Company
- [About Us](https://realpython.com/about/)
- [Team](https://realpython.com/team/)
- [Mission & Values](https://realpython.com/mission/)
- [Editorial Guidelines](https://realpython.com/editorial-guidelines/)
- [Sponsorships](https://realpython.com/sponsorships/)
- [Careers](https://realpython.workable.com/)
- [Press Kit](https://realpython.com/media-kit/)
- [Merch](https://realpython.com/merch)
[Privacy Policy](https://realpython.com/privacy-policy/) â
[Terms of Use](https://realpython.com/terms/) â
[Security](https://realpython.com/security/) â
[Contact](https://realpython.com/contact/)
Happy Pythoning\!
Š 2012â2026 DevCademy Media Inc. DBA Real Python. All rights reserved.
REALPYTHON⢠is a trademark of DevCademy Media Inc.
[](https://realpython.com/)
 |
| Readable Markdown | In Python, everything is an object, even the classes that create objects. You used a class to instantiate an object instance, but classes themselves are also instantiated behind the scenes. This mechanism is available to you as a programmer through the concept of metaclasses.
Metaclasses allow you to hook when classes are created, and this technique is whatâs behind magical frameworks like Django and SQLAlchemy where class definitions have side effects that impact databases.
**In this course youâll learn about how:**
- Everything really is an object, including classes themselves
- The `type()` function works
- Classes instantiate objects and get instantiated themselves
- You can hook class instantiation with the metaclass argument
Metaclasses arenât for the faint of heart, but they do allow you to do some magic. Plus, learning about them can help you understand what exactly happens behind the scenes when you instantiate a class.
**Whatâs Included:**
- 7 Lessons
- Video Subtitles and Full Transcripts
- 2 Downloadable Resources
- Accompanying Text-Based Tutorial
- [Q\&A With Python Experts: Ask a Question](https://realpython.com/courses/python-metaclasses/discussion/)
- Certificate of Completion
**Downloadable Resources:**
- [Course Slides (PDF)](https://realpython.com/courses/python-metaclasses/downloads/python-metaclasses-slides/)
- [Sample Code (ZIP)](https://realpython.com/courses/python-metaclasses/downloads/python-metaclasses-code/)
**Related Learning Paths:**
- [Python Metaprogramming](https://realpython.com/learning-paths/metaprogramming-in-python/) |
| Shard | 71 (laksa) |
| Root Hash | 13351397557425671 |
| Unparsed URL | com,realpython!/courses/python-metaclasses/ s443 |