【问题标题】:Should i use my own properties inside a Class in python? [closed]我应该在 python 的类中使用我自己的属性吗? [关闭]
【发布时间】:2019-05-27 20:06:52
【问题描述】:

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

有什么更好的方法?

这个?

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    

【问题讨论】:

  • 你应该确保你的属性为你的代码增加了一些价值。

标签: python python-3.x properties


【解决方案1】:

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

【讨论】:

    最近更新 更多