René's URL Explorer Experiment


Title: Python Metaprogramming (Learning Path) – Real Python

Open Graph Title: Python Metaprogramming (Learning Path) – Real Python

Description: Learn Python metaprogramming with descriptors, metaclasses, ABCs, and protocols. Inspect objects at runtime and run code your program writes itself.

Open Graph Description: Learn Python metaprogramming with descriptors, metaclasses, ABCs, and protocols. Inspect objects at runtime and run code your program writes itself.

Opengraph URL: https://realpython.com/learning-paths/metaprogramming-in-python/

X: @realpython

direct link

Domain: realpython.com


Hey, it has json ld scripts:
{
  "@context": "https://schema.org",
  "@type": "ItemList",
  "@id": "https://realpython.com/learning-paths/metaprogramming-in-python/",
  "url": "https://realpython.com/learning-paths/metaprogramming-in-python/",
  "name": "Python Metaprogramming",
  "description": "Learn Python metaprogramming with descriptors, metaclasses, ABCs, and protocols. Inspect objects at runtime and run code your program writes itself.",
  "itemListOrder": "ItemListOrderAscending",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "item": {
        "@type": "Course",
        "@id": "https://realpython.com/courses/python-descriptors/",
        "url": "https://realpython.com/courses/python-descriptors/",
        "name": "Python Descriptors",
        "description": "Learn what Python descriptors are, how the descriptor protocol works, and when descriptors are useful\u2014with practical, hands-on examples.",
        "provider": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        },
        "hasCourseInstance": {
          "@type": "CourseInstance",
          "courseMode": "Online",
          "courseWorkload": "PT136M18S"
        },
        "offers": [
          {
            "@type": "Offer",
            "category": "Subscription"
          }
        ]
      }
    },
    {
      "@type": "ListItem",
      "position": 2,
      "item": {
        "@type": "Course",
        "@id": "https://realpython.com/courses/python-metaclasses/",
        "url": "https://realpython.com/courses/python-metaclasses/",
        "name": "Metaclasses in Python",
        "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.",
        "provider": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        },
        "hasCourseInstance": {
          "@type": "CourseInstance",
          "courseMode": "Online",
          "courseWorkload": "PT161M27S"
        },
        "offers": [
          {
            "@type": "Offer",
            "category": "Subscription"
          }
        ]
      }
    },
    {
      "@type": "ListItem",
      "position": 3,
      "item": {
        "@type": "Course",
        "@id": "https://realpython.com/courses/duck-typing-python/",
        "url": "https://realpython.com/courses/duck-typing-python/",
        "name": "Getting to Know Duck Typing in Python",
        "description": "Learn about duck typing in Python---a type system based on an object's behavior rather than inheritance. By taking advantage of duck typing, you can create flexible and decoupled sets of Python classes that work together or independently.",
        "provider": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        },
        "hasCourseInstance": {
          "@type": "CourseInstance",
          "courseMode": "Online",
          "courseWorkload": "PT118M42S"
        },
        "offers": [
          {
            "@type": "Offer",
            "category": "Subscription"
          }
        ]
      }
    },
    {
      "@type": "ListItem",
      "position": 4,
      "item": {
        "@type": "Course",
        "@id": "https://realpython.com/courses/interfaces-object-oriented-design-principles/",
        "url": "https://realpython.com/courses/interfaces-object-oriented-design-principles/",
        "name": "Python Interfaces: Object-Oriented Design Principles",
        "description": "In this video course, you'll explore how to use a Python interface. You'll come to understand why interfaces are so useful and learn how to implement formal and informal interfaces in Python. You'll also examine the differences between Python interfaces and those in other programming languages.",
        "provider": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        },
        "hasCourseInstance": {
          "@type": "CourseInstance",
          "courseMode": "Online",
          "courseWorkload": "PT124M52S"
        },
        "offers": [
          {
            "@type": "Offer",
            "category": "Subscription"
          }
        ]
      }
    },
    {
      "@type": "ListItem",
      "position": 5,
      "item": {
        "@type": "Course",
        "@id": "https://realpython.com/courses/exploring-protocols-python/",
        "url": "https://realpython.com/courses/exploring-protocols-python/",
        "name": "Exploring Protocols in Python",
        "description": "Learn how Python's protocols improve your use of type hints and static type checkers in this practical video course.",
        "provider": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        },
        "hasCourseInstance": {
          "@type": "CourseInstance",
          "courseMode": "Online",
          "courseWorkload": "PT148M41S"
        },
        "offers": [
          {
            "@type": "Offer",
            "category": "Subscription"
          }
        ]
      }
    },
    {
      "@type": "ListItem",
      "position": 6,
      "item": {
        "@type": "Course",
        "@id": "https://realpython.com/courses/working-dict-attributes/",
        "url": "https://realpython.com/courses/working-dict-attributes/",
        "name": "Working With Python's .__dict__ Attribute",
        "description": "Explore Python's .__dict__ attribute to manage class and instance attributes directly for more flexible, low-level control of your objects.",
        "provider": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        },
        "hasCourseInstance": {
          "@type": "CourseInstance",
          "courseMode": "Online",
          "courseWorkload": "PT70M59S"
        },
        "offers": [
          {
            "@type": "Offer",
            "category": "Subscription"
          }
        ]
      }
    },
    {
      "@type": "ListItem",
      "position": 7,
      "item": {
        "@type": "Course",
        "@id": "https://realpython.com/courses/evaluate-expressions-dynamically-python-eval/",
        "url": "https://realpython.com/courses/evaluate-expressions-dynamically-python-eval/",
        "name": "Evaluate Expressions Dynamically With Python eval()",
        "description": "Learn how Python's eval() works and how to use it effectively in your programs. Additionally, you'll learn how to minimize the security risks associated to the use of eval().",
        "provider": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        },
        "hasCourseInstance": {
          "@type": "CourseInstance",
          "courseMode": "Online",
          "courseWorkload": "PT106M47S"
        },
        "offers": [
          {
            "@type": "Offer",
            "category": "Subscription"
          }
        ]
      }
    }
  ]
}

authorReal Python
theme-color#18354c
color-schemelight dark
twitter:cardsummary_large_image
twitter:imagehttps://files.realpython.com/media/pcl-Python-Metaclasses_Watermarked.b922afb174f8.jpg
og:imagehttps://files.realpython.com/media/pcl-Python-Metaclasses_Watermarked.b922afb174f8.jpg
twitter:creator@realpython
og:typearticle
og:site_nameReal Python
apple-mobile-web-app-titleReal Python

Links:

https://realpython.com/
Start Herehttps://realpython.com/start-here/
Learn Python https://realpython.com/learning-paths/metaprogramming-in-python/
Your Learning Plan →Your personalized Python learning planhttps://realpython.com/account/learning-plan/
Python Tutorials →In-depth articles and video courseshttps://realpython.com/search?kind=article&kind=course&order=newest&_from=nav_library
Learning Paths →Guided study plans for accelerated learninghttps://realpython.com/learning-paths/
Quizzes & Exercises →Check your learning progresshttps://realpython.com/search?kind=exercise&kind=quiz&_from=nav_library
Browse Topics →Focus on a specific area or skill levelhttps://realpython.com/tutorials/all/
Reference →Concise definitions for common Python termshttps://realpython.com/ref/
Mentor AI →NewYour personal Python mentorhttps://realpython.com/mentor/
Office Hours →Live Q&A calls with Python expertshttps://realpython.com/office-hours/
Community Chat →Learn with other Pythonistashttps://realpython.com/community/
Live Courses →Live, instructor-led Python courseshttps://realpython.com/live/
Books →Round out your knowledge and learn offlinehttps://realpython.com/products/books/
Podcast →Hear what’s new in the world of Pythonhttps://realpython.com/podcasts/rpp/
Unlock All Content and Become a Python Expert →Get unlimited access to all Real Python has to offerhttps://realpython.com/account/join/?from=navbar_learn
Unlock All Content →Become a Python Experthttps://realpython.com/account/join/?from=navbar_learn
More https://realpython.com/learning-paths/metaprogramming-in-python/
Learner Storieshttps://realpython.com/learner-stories/
Python Newsletterhttps://realpython.com/newsletter/
Python Job Boardhttps://www.pythonjobshq.com
Meet the Teamhttps://realpython.com/team/
Become a Contributorhttps://realpython.com/jobs/
Searchhttps://realpython.com/search
https://realpython.com/search
Joinhttps://realpython.com/account/join/
Sign‑Inhttps://realpython.com/account/login/?intent=navbar&next=%2Flearning-paths%2Fmetaprogramming-in-python%2F
Learning Pathhttps://realpython.com/learning-paths/
metaprogramminghttps://realpython.com/ref/glossary/metaprogramming/
descriptorshttps://realpython.com/ref/glossary/descriptor/
abstract base classeshttps://realpython.com/ref/glossary/abstract-base-class/
protocolshttps://realpython.com/ref/glossary/protocol-subtyping/
introspectionhttps://realpython.com/ref/glossary/introspection/
eval()https://realpython.com/ref/builtin-functions/eval/
exec()https://realpython.com/ref/builtin-functions/exec/
Learning Pathhttps://realpython.com/learning-paths/
metaclasseshttps://realpython.com/ref/glossary/metaclass/
https://realpython.com/courses/python-descriptors/
Python Descriptorshttps://realpython.com/courses/python-descriptors/
https://realpython.com/quizzes/python-descriptors/
Python Descriptors: An Introductionhttps://realpython.com/quizzes/python-descriptors/
https://realpython.com/courses/python-metaclasses/
Metaclasses in Pythonhttps://realpython.com/courses/python-metaclasses/
https://realpython.com/quizzes/python-metaclasses/
Python Metaclasseshttps://realpython.com/quizzes/python-metaclasses/
duck typinghttps://realpython.com/ref/glossary/duck-typing/
https://realpython.com/courses/duck-typing-python/
Getting to Know Duck Typing in Pythonhttps://realpython.com/courses/duck-typing-python/
https://realpython.com/quizzes/duck-typing-python/
Duck Typing in Python: Writing Flexible and Decoupled Codehttps://realpython.com/quizzes/duck-typing-python/
https://realpython.com/courses/interfaces-object-oriented-design-principles/
Python Interfaces: Object-Oriented Design Principleshttps://realpython.com/courses/interfaces-object-oriented-design-principles/
https://realpython.com/quizzes/interface-in-python/
Implementing Interfaces in Python: ABCs and Protocolshttps://realpython.com/quizzes/interface-in-python/
https://realpython.com/courses/exploring-protocols-python/
Exploring Protocols in Pythonhttps://realpython.com/courses/exploring-protocols-python/
https://realpython.com/quizzes/python-protocol/
Python Protocols: Leveraging Structural Subtypinghttps://realpython.com/quizzes/python-protocol/
https://realpython.com/courses/working-dict-attributes/
Working With Python's .__dict__ Attributehttps://realpython.com/courses/working-dict-attributes/
https://realpython.com/quizzes/python-dict-attribute/
Using Python's .__dict__ to Work With Attributeshttps://realpython.com/quizzes/python-dict-attribute/
https://realpython.com/courses/evaluate-expressions-dynamically-python-eval/
Evaluate Expressions Dynamically With Python eval()https://realpython.com/courses/evaluate-expressions-dynamically-python-eval/
https://realpython.com/python-exec/
Python's exec(): Execute Dynamically Generated Codehttps://realpython.com/python-exec/
https://realpython.com/learning-paths/network-programming-and-security/
Network Programming and Securityhttps://realpython.com/learning-paths/network-programming-and-security/
Object-Oriented Programming (OOP) in Pythonhttps://realpython.com/learning-paths/object-oriented-programming-oop-python/
Understand CPythonhttps://realpython.com/learning-paths/understand-cpython/
Got feedback on this learning path?https://realpython.com/feedback/realpython-com/?d=eyJwIjoicmVhbHB5dGhvbi1jb20iLCJzaWciOiJDM19TXl5NYmFGeiVjVXhgcjByUDFAZHMweGErKndMVX09Kys9MCQ7IiwidCI6IlB5dGhvbiBNZXRhcHJvZ3JhbW1pbmcgKExlYXJuaW5nIFBhdGgpIiwidSI6Ii9sZWFybmluZy1wYXRocy9tZXRhcHJvZ3JhbW1pbmctaW4tcHl0aG9uLyJ9
Real Python Community Chathttps://realpython.com/community/
“Office Hours” Live Q&A Sessionhttps://realpython.com/office-hours/
« Browse All Learning Pathshttps://realpython.com/learning-paths/
Privacy Policyhttps://realpython.com/privacy-policy/

Viewport: width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover

Robots: max-image-preview:large


URLs of crawlers that visited me.