I just need to know a few things about game programming

Okay, so i know python and very little c++.

I want to start making small games, probably with python, but I will use c++ in the future.

I just need to know a few things about game programming.

What is OpenGL? What can you do with it?
What is SDL, Ogre, Pygame etc? Is it game engines, libraries? What do they do?

And finaly, whats the easiest way to start with easy 2d games like tetris, snake etc?

OpenGL is a graphic library, like DirectX, except open source. You use the GLSL coding language to make OpenGL shaders and graphics for your game.

Ogre3D is an open source rendering engine. A rendering engine is like a manager. You could make your application from scratch with OpenGL/DirectX and C++, but you’ll soon find there’s a lot more to rendering than shaders. Using a great open source render engine like Ogre will save you countless manhours.
(Torchlight was made using Ogre!)

However if you use blender, it has its own render engine so Ogre is not necessary.

im not familiar with PyGame or SDL.