Anything (within reason) is possible, and there are even a number of successful commercially available games developed using Game Maker and similar packages, so there's no reason a skilled developer couldn't do the same using Python assuming they choose a project of reasonable scope and put in the requisite effort.
There are two significant difficulties you might be likely to face using Python to create your games, although both can be worked around:
- Python can sometimes be slower than some other languages, largely due to it's interpreted nature. Possible solutions to this include using alternative distributions such as PyPy, Cython or IronPython, or making use of modules written in lower level languages (often C or C++) for performance critical tasks.
- Distribution isn't as straight-forward as with a compiled language where you end up with an executable file you can deliver. This is also a solvable problem however, using packages such as py2exe, PyInstaller, etc.
Python has actually been used in a number of big commercial games, usually as a scripting language on top of an engine implemented in a lower-level language -- a good example of this is the Panda3d engine, which is written in C++ but can be programmed using Python, and was used for a couple of Disney MMOs amongst other projects.
If you're happy to use Python, then yes, you should absolutely proceed with it, and yes, you can make a professional quality commercial game if you put in the time and effort to do so.
: Clarification, and a small addition for the inevitable nit-pickers. :-)