In Python3 gibt es nur *
Parameter, wie im folgenden Beispiel für die Funktionsdefinition.
python
>>> def foo(*, x):
print(x)
Die Bedeutung dieser Verwendung besteht darin, dass für den Parameter nach "*" die Übergabe des Arguments im Schlüsselwortformat erzwungen wird. Wenn das Argument ohne das Schlüsselwort übergeben wird, tritt der folgende Fehler auf.
>>> foo(x=1)
1
>>> foo(1)
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
foo(1)
TypeError: foo() takes 0 positional arguments but 1 was given
Recommended Posts