Is it possible in PyQGIS to have in one layer more polygons and some would have one set of attributes and another different?
E.g. Polygon_1(name, size, average_age), Polygon_2(name, size, average_height), Polygon3(same as Polygon1)...
I imagine that I would create two tables and when I create a new polygon I somehow link it together.
Is anything like that possible? Or do I have to have one layer for each set of attributes?

nameattribute, and then a few other a-spatial tables that each have thenameattribute but different sets of information. Then add the shapefile a few times to create separate layers and join each a-spatial table to a different layer. So: one shapefile, many tables. – mr.adam Jul 30 '15 at 13:17