回答編集履歴
1
修正
answer
CHANGED
@@ -3,16 +3,15 @@
|
|
3
3
|
これはどのようにしたら実現できるでしょうか。
|
4
4
|
|
5
5
|
メソッドにて自身の値を変更するのではなく、新しいインスタンスを返せばいいです。
|
6
|
-
ただメソッド内で直接`HTMLTag(...)`でインスタンスを作ることはできない(`HTMLTag`という名前がその定義内では使えない)ので、`self.__class__`によってクラスを取得する必要があります。
|
7
6
|
|
8
7
|
```
|
9
8
|
class HtmlTag():
|
10
9
|
def __init__(self,text):
|
11
10
|
self.value = text
|
12
11
|
def p(self):
|
13
|
-
return
|
12
|
+
return HtmlTag("<p>{}</p>".format(self.value))
|
14
13
|
def b(self):
|
15
|
-
return
|
14
|
+
return HtmlTag("<b>{}</b>".format(self.value))
|
16
15
|
|
17
16
|
|
18
17
|
H=HtmlTag("hello")
|