I'm creating a small text RPG as a way to practice python and I'm running into a question about how to load data. The game is a wild west game, though that isn't too relevant, and I need to store lists of weapons and their properties, as well as lists of characters, scenarios, etc. I've got a good idea of how to represent this data as classes but I'm not as clear on how to store and load the data.
My main question revolves around the relationship between data and classes. I have read through some posts here on SE and many of them relate to storage, so I have some good information there.
When should I load that data in? For example, the player chooses from several weapons when the game starts. Should I load in all the weapons and instantiate all the weapon objects at that point? Should the weapon class have the ability to show weapons from the database without instantiating them?
Thanks for any help.