擅长:python、mysql、java
<p>首先,将<code>self</code>变量初始化为空列表,将<code>0</code>变量初始化为<code>__init__</code>方法的参数。通过立即将参数重置为nothing,这实际上会使传递给类的任何参数无效。你知道吗</p>
<p>另外,要调用类的方法,请向它传递所需的参数数。如果调用一个没有参数的方法,仍然需要左括号和右括号,例如<code>student1.studentaverage()</code>。你知道吗</p>
<p>我会这样做的。你知道吗</p>
<pre><code>class studentgrades:
def __init__(self,grades):
self.grades = grades
self.num_of_grades = len(grades)
self.grades_total = sum(grades)
def average(self):
return self.grades_total / self.num_of_grades
grades = [100, 82, 75, 93]
student1 = studentgrades(grades)
print student1.average()
</code></pre>
<p>这样,你只需通过a班的成绩表。你知道吗</p>
<p>更好的是,使用sounddefence的建议,您可以通过调用<code>sum</code>和<code>len</code>方法中<code>grades</code>列表的<code>grades</code>方法,消除在<code>__init__</code>方法中定义另外两个变量的需要。你知道吗</p>
<pre><code>class studentgrades:
def __init__(self,grades):
self.grades = grades
def average(self):
return sum(self.grades) / len(self.grades)
grades = [100, 82, 75, 93]
student1 = studentgrades(grades)
print student1.average()
</code></pre>