Metaprogramming as the word suggests is a programming technique where computer programs are developed with the ability to treat other programs as their useful data. They treat or take them as data and do their functioning. This technique is used in python as an ability of a program to gain knowledge or manipulate the knowledge for its own benefit. In python, you will be dealing with metaclasses which are part of metaprogramming. They are OOPs concepts and will be used in python code.