2013-04-14 158 views
-1

如何使用該類中的任何函數都可以訪問的列表。例如,在我的班級學生中,我想創建一個名爲等級的列表,並且我想要創建單獨的函數以添加到列表中,從列表中刪除等。函數和類中的列表python

+0

查看'static'方法/函數。 – 2013-04-14 03:26:32

+0

你不需要做任何事情。如果您不覆蓋它,您將訪問類 – JBernardo

回答

2
class Student(object): 
    def __init__(self): 
     self.grades = [] 


myStudent = Student() 

myStudent.grades.append(90) 

這個問題是非常基本的。你有沒有經歷過Python tutorial

+0

中的實例如果我想在不同的函數中刪除(),該怎麼辦?我在其他函數中說self.grades.remove(x),或者我可以只說成績.remove(x) 此外,我不會從課外從外部調用列表,我添加/刪除任何東西列表將來自函數本身。所以我仍然需要說「自我」。 – user12074577

+1

你試過了嗎? –

+0

是的,我有,我在一個python類,現在試圖瞭解如何在一個類的多個函數中使用一個列表。我嘗試了上面的建議,我不能創建一個刪除級別的函數來調用remove()到列表的等級...... – user12074577

0
>>> class Student(object): 
...  def __init__(self): 
...   self.grades = [] 
...  def foo1(self): 
...   self.grades.append(1) 
...  def foo2(self): 
...   self.grades.append(2) 
... 
>>> student = Student() 
>>> student.foo1() 
>>> student.grades 
[1] 
>>> student.foo2() 
>>> student.grades 
[1, 2] 

正如你可以看到有訪問相同的列表,grades兩種方法。您也可以創建另一種方法從grades中刪除項目。

+0

有沒有一種方法可以在foo1或foo2中的append()或remove()之後打印列表,而不必說student.grades打印新列表? – user12074577

+0

當然,您可以在'foo1()'或'foo2()'中添加'print self.grades'。 –