python: Funktion dauert genau 1 argument (2 given)
Habe ich diese Methode in einer Klasse
class CatList:
lista = codecs.open('googlecat.txt', 'r', encoding='utf-8').read()
soup = BeautifulSoup(lista)
# parse the list through BeautifulSoup
def parseList(tag):
if tag.name == 'ul':
return [parseList(item)
for item in tag.findAll('li', recursive=False)]
elif tag.name == 'li':
if tag.ul is None:
return tag.text
else:
return (tag.contents[0].string.strip(), parseList(tag.ul))
aber wenn ich versuche, rufen Sie es wie folgt:
myCL = CatList()
myList = myCL.parseList(myCL.soup.ul)
Habe ich die folgende Fehlermeldung:
parseList() takes exactly 1 argument (2 given)
Ich versucht, um sich selbst als argument an die Methode, aber wenn ich das mache, dass die Fehler, die ich erhalte ist folgende:
global name 'parseList' is not defined
nicht ganz klar zu mir, wie das tatsächlich funktioniert.
Irgendeinen Hinweis?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du hast vergessen die
self
argument.Müssen Sie ändern Sie diese Zeile:
mit:
Hast du auch eine Globale Namen Fehler, da Sie versuchen, Zugriff
parseList
ohneself
.Während Sie sollten etwas tun wie:
innerhalb Ihrer Methode.
Zu spezifisch sein, Sie müssen das nicht in zwei Zeilen code:
und