0

Pythonのようなカスタムリストクラスで作業する

class ListData:
        def __init__(self):
                 self.data = []

        def add(self, x):
                 self.data.append(x)

        def delete(self, x):
                 self.data.remove(x)

テストするときは、常に None を返します。

from list import ListData

listdata = ListData()


mylist = [34, 32, 34, 89]
mylist = listdata.add(2)
mylist = listdata.add(5)

print mylist # Prints None
4

2 に答える 2

0

addおよびメソッドからは何も返さないdeleteため、それらの戻り値を に割り当てると、 が残りmylistますNone。余分な割り当てを取り除くと、コードが機能します。

mylist = [34, 32, 34, 89]
listdata.add(2)
listdata.add(5)

print mylist

または、メソッドを変更して returnselfにすることもできますが、それほど価値はありません。

def add(self, x):
    self.data.append(x)
    return self

def delete(self, x):
    self.data.remove(x)
    return self
于 2013-01-30T20:30:40.577 に答える
0

リストとして印刷できるように API を変更できます。あなたは以下を読むことができます

不変型と可変型

class ListData:
        def __init__(self):
                 self.data = []

        def add(self, x):
                 self.data.append(x)

        def delete(self, x):
                 self.data.remove(x)

        def data(self):
            return self.data




a = ListData()
a.add(1)
a.add(2)
print a.data

出力します:

[1、2]

于 2013-01-30T20:36:02.107 に答える