Without the underscore, the methods call themselves recursively until you hit the error
For instance
Error:RecursionError: maximum recursion depth exceeded while calling a Python object
A different variable name is needed to store the variable then the method name.For instance
@property def temperature(self): print("Getting value...") return self.temperatureline 4 would call line 2 & then line 4 would call line 2 & then line 4 would call line 2 .........