Ich habe folgende Stand-alone-Funktion für den Druck Argumente:Funktion innerhalb des Objekts unterschiedlicher Druckausgabe als Stand-alone-Funktion in Python zu erzeugen 3.5
def multiArgsPrinter2(*args):
testString = '';
for count, thing in enumerate(args):
testString += str(thing) + ","
return testString
der, wenn du wie folgt ausführen:
retval = multiArgsPrinter2(20, 30, 40)
print(retval)
druckt 20,30,40, - wie erwartet. Ich mache dann eine Klasse mit dieser Funktionalität im Inneren:
class TestHelper2:
"""The TestHelper Class"""
def multiArgsPrinter3(*args):
testString = '';
for count, thing in enumerate(args):
testString += str(thing) + ","
print(testString)
return testString
Egal wo ich dieses Ergebnis zu drucken, entweder als Rückgabewert oder innerhalb der Klasse der Ausgang I sieht wie folgt erhalten:
<TestHelper2.TestHelper2 object at 0x00F6ABB0>,20,30,40,
die verwirrt mich. Irgendwelche Hinweise auf das, was ich nicht verstehe?
Bonuspunkte, wenn Sie mir sagen können, warum das Aufrufen einer weiteren Funktion in einem Objekt die Anbringung von Klammern() um den Rückgabewert herum verursacht?
Wie für Ihre Bonuspunkte Frage, sollte das eine separate Frage mit einem Beispiel sein, was Sie meinen. So wie es ist, weiß ich nicht wovon du sprichst. –
Ich habe die Bonuspunkte gelöst. Ich übergab fälschlicherweise die Variable 'args' an eine andere Elementfunktion, ohne dass das Sternchen (*) angehängt war, und überließ es im Grunde als Liste und erzeugte schließlich bei der Ausgabe Klammern. – Gazoo