メソッドをオーバーライドする UList という名前の UserList の下に新しいクラスを作成しました__add__
。重複した項目をリストに追加することはできません。しかし、実行しようとすると、期待した結果が得られません。
from collections import UserList
class UList(UserList):
def append(self,ap_item):
for ap in ap_item:
if ap in self:
raise ValueError(repr(ap) + " already exists in list")
else:
return UserList.append(self, ap_item)
def __add__(self,ad_item):
for ad in ad_item:
if ad in self:
raise ValueError(repr(ad) + " already exists in list")
else:
return UserList.__add__(self,ad_item)
def extend(self, ex_item):
for ex in ex_item:
if ex in self:
raise ValueError(repr(i) + " already exists in list")
else:
return UserList.extend(self,ex_item)
このメソッドを正しく実行するにはどうすればよいですか?