我应该在python的类中使用自己的属性吗?

时间:2018-12-31 07:49:35

标签: python python-3.x properties

我正在考虑在同一类中使用类的属性。但是我不确定哪种方法更好。 在第一个示例中,属性仅用于“外部”。在内部,我使用自己的属性和方法。 在第二个示例中,我也使用了内部的属性。

有什么更好的方法吗?

这个?

class Temperature_Calc_dont_use_properties_inside:
    def __init__(self, temperature):
        self.__temperature = temperatur
        return

    @property
    def actual_temperature(self):
        return self.__temperature

    @property
    def actual_temperature_farenheit(self):
        return self.get_farenheit()

    def get_farenheit(self):
        farenheit = (self.__temperature * 1.8) + 32
        return farenheit

    def calculate_something(self):
        result = self.get_farenheit() * 99
        return result

还是这个?

class Temperature_Calc_use_properties_inside:
    def __init__(self, temperature):
        self.__temperature = temperatur
        return

    @property
    def actual_temperature(self):
        return self.__temperature

    @property
    def actual_temperature_farenheit(self):
        return (self.actual_temperature * 1.8) + 32

    def calculate_something(self):
        result = self.actual_temperature_farenheit * 99
        return result    

1 个答案:

答案 0 :(得分:2)

这可能会被标记为基于意见的问题,但是我将采用第二种解决方案。很明显,该属性的作用是无需使用其他方法使代码复杂化。