質問編集履歴
1
コードを引用したサイトのリンクを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
現在、pythonを勉強していますがとあるサイトで以下のコードを見つけたのですが
|
1
|
+
現在、pythonを勉強していますがとあるサイト[リンク内容](https://qiita.com/msrks/items/fdc9afd12effc2cba1bc)で以下のコードを見つけたのですが
|
2
2
|
return cls(friend_name, origin.school, *args)と
|
3
3
|
mitsu = WorkingStudent.friend(hiro, "Mitsu", 15.00)のコードが一体何をしているのかわかりません。
|
4
4
|
ご教授お願い致します。
|
@@ -10,7 +10,15 @@
|
|
10
10
|
def __init__(self, name, school):
|
11
11
|
self.name = name
|
12
12
|
self.school = school
|
13
|
+
self.marks = []
|
13
14
|
|
15
|
+
def average(self):
|
16
|
+
"""平均成績を返す
|
17
|
+
|
18
|
+
インスタンス変数にアクセスしたいのでinstancemethodを使う。
|
19
|
+
"""
|
20
|
+
return sum(self.marks) / len(self.marks)
|
21
|
+
|
14
22
|
@classmethod
|
15
23
|
def friend(cls, origin, friend_name, *args):
|
16
24
|
"""同じ学校の友達を追加する。
|
@@ -19,10 +27,8 @@
|
|
19
27
|
なのでclassmethodを使う。
|
20
28
|
子クラスの初期化引数は *argsで受けるのがいい
|
21
29
|
"""
|
30
|
+
return cls(friend_name, origin.school, *args)
|
22
31
|
|
23
|
-
return cls(friend_name, origin.school, *args)
|
24
|
-
|
25
|
-
|
26
32
|
@staticmethod
|
27
33
|
def say_hello():
|
28
34
|
"""先生に挨拶する
|
@@ -39,5 +45,4 @@
|
|
39
45
|
hiro = WorkingStudent("Hiro", "Stanford", 20.00)
|
40
46
|
mitsu = WorkingStudent.friend(hiro, "Mitsu", 15.00)
|
41
47
|
print(mitsu.salary)
|
42
|
-
|
43
48
|
```
|