Beim Versuch, den Befehl listPersons() auszuführen, sollte jede Person/Instanz die sayHello() -Methode aufrufen. Aber da die Namen str sind, würde es einen AttributeError auslösen (siehe unten).Wie formatiere ich eine Zeichenfolge für eine Methode in Python?
Wie formatiere ich die Namen, damit ich die Methoden auf ihnen verwenden kann?
class person:
def __init__ (self, name):
self.name = name
def sayHello(self):
print("Hello World, I'm", self.name)
def listPersons():
print ("There are", len(names), "persons here, please everybody say hello to the world!")
for name in names:
print(name.sayHello())
names = ["Tobias", "Lukas", "Alex", "Hannah"]
for name in names:
globals()[name] = person(name)
Attribute:
Traceback (most recent call last):
File "<pyshell#97>", line 1, in <module>
listPersons()
File "/Users/user/Desktop/test.py", line 12, in listPersons
print(name.sayHello())
AttributeError: 'str' object has no attribute 'sayHello'
Vielen Dank für Ihre Hilfe! :-)
Ich kopiere diesen Code eingefügt und bin kein Fehler immer in beiden Python 2 und 3 – idjaw