I持って、次のクラス:は、どのように私はクラスプロパティを整数に変換します
if num <= temp_con.t - 2:
#dothing
私が手しかし:私はこのロジック以下の数と比較するためにそれを使用する必要があります
class temp_con():
def __init__(self):
self.t = 0
@property
def t(self):
return self.t
@t.setter
def t(self,value):
self.t = value
エラー:
Type error: unsupported operand type for -: 'property' and 'int'<
私はint(temp_con.t)
とgetattr(temp_con, t)
を試してみましたが、それらは動作しませんでした。
どのようにプロパティをintとして利用できますか?
'return self.t 'は' 0'を返しません。これは 't'(これはプロパティゲッターです)を返します。属性とプロパティゲッターを区別する必要があります。 'self._t = 0'を設定する –
この質問は、クラスのメンバーとクラスのインスタンスのメンバーの違いについて、複数の面で混乱しているようです。たとえば、 'temp_con'はクラスとして宣言されていますが、使用例では、' temp_con'もインスタンスであると予想される変数として使用されています。 –
答えは最初の2つの回答の組み合わせです。 – drako234