質問するログイン新規登録

質問編集履歴

1

コードを引用したサイトのリンクを追加

2019/10/28 10:48

投稿

bbbjoker1218
bbbjoker1218

スコア8

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
  ```