Honeybee code, for the most part, is pretty object oriented and uses some quirky things within the grasshopper namespace like a dictionary called “sticky”, rhinoscriptsyntax and the Rhino API itself (which inturn is a wrapper for a C# -based framework of classes and methods).
To complicate all of that, Honeybee then relates the Rhino-geometry, user-defined inputs from the grasshopper canvas, and certain predefined constants to link to external programs like energyplus, therm, radiance and more (the complexity of what happens with the code, all the while presenting the user with a simple interface is what makes Honeybee awsome!).
If you are just starting out with Python, I would suggest starting off with the ladybug code as it is more straight forward. For the most part, as far as I know, it does not link to external programs to do simulations. All the “magic” that happens is within the confines of the Python code and Rhino/Grasshopper API. Finally, I would suggest getting at least a basic understanding of Python classes and related object oriented methods.
Once you start creating your own components, or hacking existing Ladybug/Honeybee ones, you will find answers to most of your questions on this forum. Here is Mostapha answering a question of mine back in 2015: Radiance view file from Rhino Viewport
Tagging @devang if has a different take on this.