I have been writing a lot of Python codes lately, and have since grown increasingly fond of the language over its minimalist approach to programming. For the newcomers here: Python is what Blender uses for its scripting interface, with Python linked to the Blender API, one can access and modify almost anything programmatically. This scripting interface significantly extends what is possible with Blender. Although to call Python a scripting language is perhaps a disservice to this supremely capable and elegant language. Python’s simplicity means it can be used as a scripting language, but it also has the power to do so much more.
Around the Blender community, I have seen some people approach Python with certain skepticism. (“It’s programming, it must be hard!”) But Python is intuitive. Writing Python code is the closest one can get to writing in an natural language. Compare with other languages, there is no semicolons, no excessive symbols and punctuations, no long compilation process before one can test the code. To make a program in Python is a think-type-run process.
Perhaps due to my recently found enthusiasm, I was given a chance to take a sneak peak at Michel Anders’ upcoming book Blender 2.49 scripting. Flipping through this ~300 page book, I realized this is exactly what I would have asked for as a beginner wanting to learn how to script in Blender. This wonderfully comprehensive book covers everything from editing object to working with material to PyDrivers, Constraints, IPOs and shapekeys. The only notable omission seems to be the game engine component.
Sure you can look at the Blender API documentation for help, but ingredient lists does not make a cookbook. As there still isn’t a centralized repository for Blender scripts in the Blender community,Michel managed to bridge a rather large knowledge gap with this book that is filled with useful snippet of code.
Python is not as fast as C, or as ubiquitous as Javascript. But one can accomplish a task in Python at a fraction of the code and mental power it takes in other languages. Which makes it an ideal language to learn as a beginner.
Blender 2.49 Scripting is available from Packt Publishing. I eagerly awaits a second edition of the book, no doubt slewed for Blender 2.5 and Python 3?

Too bad Python can not real multithreading, it’s hurting performance.
To be specific, Python do have a multithreading module. But the Python interpreter is single threaded, so yes, it’s effectively single threaded. Consider Unladen Swallow, PyPy or Psyco if you are looking for some speed ups.
Hello Mike!
When you refer to the various python environments, are you implying that these can be integrated into the blender gamekit workflow?
I also want to let you how awesome and inspiring the blend files that you are sharing are! They are very much so! You’re doing amazing things with blender and it’s great because such pretty examples are hard to come by! Thanks!
Thrax, PyPy or Unladen Swallow are separate Python implmentations, thus implementing them into Blender will take a lot of work. Blender only works with CPython (python.org) right now. But Psyco is an extension of Cpython, and because of this, can be easily loaded into any CPython environment, like Blender.
Why do you say there is no common place for python scripts?!?
go to the blender site go to docs and to the wiki.
Or start searching for blender scripts. They are nicely ordered with their blender version number.