現在Python 3.2.3を使用しています:
Python でプロパティを使用すると、常に問題が発生します。私の問題が Python でのプロパティの動作方法 (私は C++/Delphi/C# の世界から来ました) によるものなのか、それとも私が間違っていることによるものなのかはわかりません:
例:
意味:
class MyClass(object):
...
self.__stringProp = "Mikey"
@property
def StringProp(self):
return self.__stringProp
使用法:
p = "Python"
m = p + MyClass.StringProp
エラー:
Unsupported operand type(p) for +: 'property' and 'str'
多くの同様のケースで同じです-その型のプロパティの型に演算子を使用できません。または、クラスのインスタンスをプロパティとして公開すると、プロパティとしてアクセスされるため、クラスの呼び出し可能オブジェクトにアクセスできません。
私は何か間違ったことをしていますか、それとも Python のプロパティは、私がよく知っている他の言語とは異なり、それらが表す型付きデータとは異なる動作をしますか?