質問編集履歴

1

全面的に質問の書き方を変更しました。

2020/10/30 01:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,21 +1,51 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- 通常はクラス内のメソッドを使用すインスタンスを生成して
3
+ 質問に答えてくださってい方々ありがとうございます。
4
+
5
+ 自分でも読んでみても質問の意図がよく分からなかったので書き直しました。お手数おかけしますが、教えてください。よく分からない質問に対して解答を頂いた方々、失礼しました。
4
6
 
5
7
 
6
8
 
7
- インスタンス名.メソッド()
9
+ 実現したいのは、以下のupperメソッドのように()内に引数を取らなくても、.(ドット)の前の部分に数値や文字を代入した変数を置くことで返り値を取得できるメソッドです。Pythonの標準ライブラリなどではよく用いられていますが、自分のメソッドで実現しようとしても参考例が出てきません。
8
10
 
9
11
 
10
12
 
13
+ ```Python
14
+
11
- という形でメソッドを実行すると思いますが、
15
+ a = "teratail"
16
+
17
+ b = a.upper()
12
18
 
13
19
 
14
20
 
15
- [list].append()
21
+ >>> TERATAIL
16
22
 
17
- オブジェクト.メソッド()
23
+ ```
18
24
 
19
25
 
20
26
 
21
- のようにメソッドを実行できるようにしたいです。方法を教えてください。
27
+ 一応このように書いてみましたが、エラーが発生します。
28
+
29
+ ```Python
30
+
31
+ class Moji:
32
+
33
+ def to_oomoji(self, text):
34
+
35
+ pass #処理を書く
36
+
37
+
38
+
39
+ a = "teratail"
40
+
41
+ b = a.to_oomoji()
42
+
43
+
44
+
45
+ >>> ERROR
46
+
47
+ ```
48
+
49
+ 通常のインスタンスメソッドでは実現できず、クラスメソッドではクラス名を先頭にする必要があるため、異なるのではないかなと思っています。
50
+
51
+ よろしくお願いします。