Hey--I'm trying to design my first game using the Pygame library for Python, and I was wondering what the best practices are for level design in general. I would love to hear what you guys think are good object oriented design patterns for managing levels. Also, I'm fairly new to Python--thanks!
Generally speaking, a simple way to do it is using matrices (or multidimensional arrays - they work the same way here).
Basically, each Map is an Array, with each item in the array being a square on the grid. 
For example a 3 by 3 grid would be as follows:
(Psuedocode)
var Map = [[1,2,3][1,2,3][1,2,3]];
In place of numbers, you could put strings for a function to parse and draw or take action based on what the value of the cell is.
Level Design in Pygame