Well, from the languages that you've mentioned, Solidity is the smart contract language from Ethereum. It's not something that is used for implementing a blockchain base, but it's an extension. Using Solidity Ethereum allows implementing Distributed Apps (Dapps), Tokens etc. Think of it as machine code for blockchain systems, similar to how code is compiled and executed on hardware. (CPUs, GPUs etc.)
Python and Go are also used in lots of cryptocurrency implementations. I'm more familiar with Python though.
It really all depends on what you're aiming for. To understand blockchains in-depth languages like Python should be better suited. But, if you wish to grasp more advanced topics like Tokens, Smart Contracts etc., then understanding existing cryptocurrencies like Ethereum and how they work should be your priority instead.
RE: Programming - Implementing a Blockchain using Python and Flask [Dev Blog 6]