Ich bin neu in Python und versuchte, ein Wörterbuch mit Wert als Funktion zu erstellen. hier mein CodeWie Funktion übergeben mit Parametern in einem Wörterbuch Schlüsselwert-Paar
istimport os
class Foo():
def print1(self,n):
print 5
def print2(self,n):
print 6
def foo(self):
bar = {'a': self.print1, 'b': self.print2}
bar['b'](5)
bar['a'](3)
bar[os.environ['FOO']]()
f = Foo()
f.foo()
Traceback (most recent call last):
File "test_dict.py", line 17, in <module>
f.foo()
File "test_dict.py", line 13, in foo
bar[b]()
python test_dict.py
6
5
Traceback (most recent call last):
File "test_dict.py", line 19, in <module>
f.foo()
File "test_dict.py", line 15, in foo
bar[os.environ['FOO']]()
TypeError: print2() takes exactly 2 arguments (1 given)
Ihre Funktionen nichts zurückkehr. So ist 'bar [b]' 'None'. Und so, der Fehler, 'NoneType nicht aufrufbar' – SvbZ3r0
Es gibt keinen Grund, dass Sie nicht aufrufbar als ein Wörterbuch Wert setzen können. In diesem Fall schreiben Sie jedoch * die Ausgabe der Funktionen * in das Wörterbuch. – jonrsharpe
Was kann os.environ ['FOO'] '' 'bewerten? – wwii