🙄
TypeError: can only concatenate str (not "property") to str
TypeError: can only concatenate str (not "property") to str
または反対だと
TypeError: unsupported operand type(s) for +: 'property' and 'str'
コードはこちらです。
```python
class Test:
@property
def test1():
return "world"
test2 = "hello " + test1
print(Test().test2) # hello world
ちなみに、これはうまくいきます。
class Test:
test1 = "world"
test2 = "hello " + test1
print(Test().test2) # hello world
原因
test1はstaticでないが、test2はstaticだから。(完全にPythonOOPの勘違いでした)
(エラーメッセージ分かりやすくしてほしい(=厳密にしてほしい))
対処法
test2も@property
にすれば良いです。または、__init__
でも良いです。とりあえず、test1
だけstaticなことがなければ良いです。
class Test:
@property
def test1():
return " world"
@property
def test2():
return "hello " + test1
Discussion