Large programs are usually made of lots of small programs, more complicated than what you're learning at first, but not as much as you might think.
Python is a good language for a lot of things. It's got a huge standard library, plus many independent platforms.
You mentioned gaming. Python is the scriping language for the Blender game engine. Blender is a pro-quality suite for 3D design, modeling, rendering and animation. Check out http://www.blender.org for more information. Also, look at http://www.pygame.org for a more traditional game development library, using SDL for OpenGL-based access to video, audio and game controller hardware.
Nobody shows source code for the big Blizzard, but I stood in line at DMV with a Blizzard employee for about 40 minutes. He told me that they use multiple languages. (I suspect that C++ is dominant.) The guy was a QA engineer, not a game coder or designer, for what it's worth. Also FWIW is that he mentioned that Python was one of the languages. That surprised me, because I was fairly new to Python at the time, and didn't think of it as a language for game developers.
So, use your imagination. You can do a lot in Python, Even if you decide that you need more performance and recode in another language, Python is good for prototyping and proof-of-concept projects.