This question pertains to properly structuring a class. The object of a class I have is instantiated with multiple parameters. Many of these parameters are then manipulated with each other to derive new values. Currently, I have all of these manipulations as methods in the class.
Is it inappropriate to move these methods to attributes when I'm instantiating the object? There is a bit of a grey area regarding whether these new derivations are attributes of the object or a new output. In some cases, they definitely seem like mere attributes. For example, in addition to representing nominal values, I want to store the values as a percentage of their expected amount. This definitely seems like an attribute.
However, if I relegate this to __init__
, then that strengthens the argument to relegate other methods that have more complexity.