Why is Python popular in Bitcoin projects? When checking out open source projects related to Bitcoin, I see that many are written in, or make a large use of, Python language. I mostly use Ruby and have little experience in Python; so, I would like to know why this is the case.

On this Github search result, you can see that Python is ranked second when you search the keyword 'bitcoin'.
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:


RICHARD KISS blog
RICHARD KISS YouTube class 
KEN SHERIFF blog