I think that C++ is the best choice, I made some small games using free engines like Ogre or Irrlicht, especially Irrlicht because it's very easy to learn.
Also for 2D games you can use HGE.
But if you want to go whith Pyton try Blender a 3D modeling an animation tool, whith Blender you can make cool games and you have all the things you need to make a game in the same sotware, Blender uses Python for programing, but you can make games whithout knowing programing just using logic blocks.