Choice of Python as scripting language in Civ4 has good point and bad point.
But I understands that it is kind of compromise and practical choice.
In practical sense, there are not many languges to choose from for game development or modding.
C++: It's implementation lanuage.

So if Python is not chosen, this will be second choice with illusive SDK.
Java,C# : It is not going along well with C++ used in Civ4. Beautiful but rather rigid. Not scripted.
PowerBuilder, Delpai, VisualBasic : they are commercial product.
So viable choices would be: Python, Perl, Lua, Ruby, Tcl.
Among these, Perl is most popular but rather old and it is rather oriented toward text processing and shell scripting.
Not so good for complex game development. This applys to Tcl, too.
In game development, Lua and Ruby are most popular.
Lua is extensively used in game development including Sims2/SimCity by Maxis, Bioiware and many others.
It work vey simlesslyl with C++. But it is less known to other general programers.
Luby is used in Japanese game mostly. It has beautiful features but less known to programmer outside of Japan.
Quite limited development environment and library. Not so mature yet.
So This leaves Python as a middle ground or practicl compromise between popularity, functionality, sutablility to game development.
Ruby is beautiful than Python. Lua workes better with C++ than Python. They are very good OOP languages.
But, in popularity, maturity, environment, and available library and knowlege base, Python is much better than both.
So it's good choice out of practical consideration.
I, too, dislike Python. But even if I was in position to choose language for modding in Firaxis, I, too, would have chosen Python.
Lua would be second best, Ruby as third.