In comparison to languages like Java or C++, Python has several advantages for coding bitcoin projects:
- Simplified rules of coding allows beginners and experienced alike to code and get results without getting bogged down in formatting etc
- Shell allows on the fly calculations
- Python code is easily read and as such can be edited to suit
- Python can be compiled into an executable or run uncompiled
I suppose in essence, Python is great for small scripts/applications and these small applications often align with difficult Bitcoin protocol mechanisms which are greatly simplified.
The caveat of course is that most Bitcoin Python utilities (Pybitcointools, Pycoin, sx/libitcoin require Python version 2, whereas Python 3 is the current release and, mind-bogglingly, 3.x is not backwards compatible with Python 2
If you want to get a feel for what Python can offer check out either:
1It's not limited to Bitcoin, but Python is generally popular in financial technology projects due to reasons mentioned in the answers. – Mikko Ohtamaa – 2014-10-29T12:23:20.473
I'll have to get a rundown on Ruby to let you know why Python is better but follow along with Richard Kiss' blog post in my answer to see how great Python is (use Python v 2.7) – Wizard Of Ozzie – 2014-10-30T01:23:03.333
There is now Python framework for developing cryptoasset applications: https://bitbucket.org/miohtama/cryptoassets (disclaimer: I am one of authors)
– Mikko Ohtamaa – 2015-02-06T10:12:30.403