-2

私はPythonで記述子を学んでいます。コードを試していますが、以下の属性エラーが発生します。

AttributeError: 'celciusDescriptor' オブジェクトに属性 '_celciusDescriptor__fahrenheit' がありません

華氏で温度を取得することにより、(華氏、摂氏) である (32,0) として出力を取得しようとしています。

'''

  class celciusDescriptor:
        def __get__(self, obj, owner):
            tempc = self.__fahrenheit
            celcius = (tempc - 32)*(5/9)
            return self.celcius
        def __set__(self, obj, value):
            tempcelc = (value - 32)*(5/9)
            return tempcelc
    
           
    class Temperature:
        celcius = celciusDescriptor()
        def __init__(self, fahrenheit):
            self.fahrenheit = fahrenheit
            
    
    t1 = Temperature(32)
    t1.fahrenheit
    t1.celcius

'''

4

1 に答える 1