Is it possible to assign a class instance name to a variable, then call that variable to use a class method?
I have the following class:
class Grain(Ingredient): def __init__(self, name, extract, color): Ingredient.__init__(self, name) self.extract = extract self.color = color def get_extract(self): return self.extract
The following instance:
marisOtter = Grain("Maris Otter", 1.038, 5.0)
grainExtracts = 
And this code:
grainID = input("Enter grain name: ") grainExtracts.append(grainID.get_extract())
If the use inputs “marisOtter”, I get the following error:
TypeError: 'str' object is not callable
I have tested other aspects of my code, for example if I input:
it performs as expected and the output of grainExtracts is [1.038]
If I input “grainID” the output is “marisOtter”
What do I need to do for “grainID” to be recognized not as the string “grainID”, but as the instance name inputted by the user (in this case “marisOtter”)?
Or should I go about this completely differently?!?!