class myClass:
def __init__(self, text):
self.text = text
def printText(text):
more_text = "Why so "
return more_text + text
Oben ist eine über-vereinfachte Version eines Codes, den ich konstruiere, um Daten aus Webseiten zu extrahieren. Ich verwende den temp.py-Code wie folgt.Warum kann ich 'str' und 'instance' Objekte nicht innerhalb einer Klasse verketten?
>>> from temp import myClass
>>> text = "serious?"
>>> joker_says = myClass(text)
>>>
>>> print joker_says.printText()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "temp.py", line 9, in printText
return more_text + text
TypeError: cannot concatenate 'str' and 'instance' objects
Ich habe viele Beispiele für Verkettung Fragen der ‚str‘ und ‚instance‘ Objekte in Stack-Überlauf zu sehen.
Ich habe die folgende Art und Weise versucht:
OPTION 1: AS INPUT
class myClass:
def __init__(self, str(text)):
self.text = text
def printText(text):
more_text = "Why so "
return more_text + text
Text TO STRING WÄHREND init CONVERT Aber ich bekomme ...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "temp.py", line 3
def __init__(self, str(text)):
^
SyntaxError: invalid syntax
== == == == == ==
OPTION 2: CONVERT text TO STRING WÄHREND init STEP
class myClass:
def __init__(self, text):
self.text = str(text)
def printText(text):
more_text = "Why so "
return more_text + text
Aber ich bekomme ...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "temp.py", line 9, in printText
return more_text + text
TypeError: cannot concatenate 'str' and 'instance' objects
Kann jemand bitte geben Sie mir eine gute Lösung für das Problem? Bitte beachten Sie, dass ich in meinem ursprünglichen Code zwei String-Objekte innerhalb der Klasse verketten möchte, um einen Link zur Webseite zu erstellen. Jeder Vorschlag wäre willkommen.
seit 'Text' in' printText' ist das erste Argument für Ihre * Methode * wird * implizit die Instanz übergeben, wird somit nicht Arbeit. –