Zum Beispiel möchte ich in der Lage sein, ein Verhalten zu injizieren, wenn ich in einer Funktion will, aber wenn ich nicht ein Verhalten haben will ich esWie mache ich Funktionsargumente optional?
class TestDefaultParam:
def defaultBehavior(file1, file2):
return 2
def action(file1, file2, behave=defaultBehavior):
return behave(file1, file2)
if __name__ == '__main__':
some = TestDefaultParam()
print(some.action("test", "test"))
Wenn dies isn ein Standardverhalten haben Wie kann ich das Handlungsverhalten beliebig verändern?
mit diesem Code bekomme ich diesen Fehler:
Traceback (most recent call last):
File ".\test.py", line 10, in <module>
print(some.action("test", "test"))
File ".\test.py", line 6, in action
return behave(file1, file2)
TypeError: 'str' object is not callable
Was stimmt nicht mit dem, was Sie bereits haben? – user2357112
warum als "oop" markiert? – haifzhan
Zeigen Sie die vollständige Traceback und wo Sie "Aktion" genannt. Was hast du 'benehmen =' gesetzt? Ein Faden? –