A good place to start is all of the documentation on bitcoin.org. It explains in depth on how bitcoin works on a technical level. Also useful is the bitcoin wiki at bitcoin.it which also has various articles that also go in depth into the technical details. Through those two sites, you should be able to get a strong understanding on how bitcoin works. You should also read the bitcoin whitepaper by Satoshi available at
https://bitcoin.org/bitcoin.pdf. Also good stuff to read are the BIPs (Bitcoin Improvement Proposals) which are available at
https://github.com/bitcoin/bips.
If you want to get involved in Bitcoin development, it would be a good idea to have a basic understanding of programming and c++. Then you can also look at the source code for Bitcoin Core (the reference implementation) and contribute there. With python, there are also several other wallets out there written in Python such as Electrum and Bitcoin Armory.
If you have any questions, feel free to ask. However, I do ask that you google and search for your question before asking here as most questions have already been asked and answered.