Python Args und Kwargs
Python args und kwargs leicht gemacht
*args und **kwargs mögen beängstigend erscheinen, aber die Wahrheit ist, dass sie nicht so schwer zu verstehen sind und die Macht haben, Ihren Funktionen viel Flexibilität zu verleihen.
Lesen Sie den Artikel Python *args und **kwargs leicht gemacht für eine tiefere Einführung.
Args und Kwargs
*args und **kwargs ermöglichen es Ihnen, eine undefinierte Anzahl von Argumenten und Schlüsselwörtern zu übergeben, wenn Sie eine Funktion aufrufen.
# Define a function that accepts any number of positional and keyword arguments
def some_function(*args, **kwargs):
pass
# Call with any number of positional arguments
some_function(arg1, arg2, arg3)
# Call with any number of keyword arguments
some_function(key1=arg1, key2=arg2, key3=arg3)
# Call with both positional and keyword arguments
some_function(arg, key1=arg1)
# Or call with no arguments at all
some_function()
Python-Konventionen
Die Wörter *args und **kwargs sind Konventionen. Sie werden nicht vom Interpreter erzwungen, gelten aber in der Python-Community als gute Praxis.
args
Sie können auf die Argumente über die Variable args zugreifen:
# *args collects positional arguments into a tuple
def some_function(*args):
print(f'Arguments passed: {args} as {type(args)}')
# Pass multiple arguments - they'll be collected into args tuple
some_function('arg1', 'arg2', 'arg3')
Arguments passed: ('arg1', 'arg2', 'arg3') as <class 'tuple'>
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
*args Argumente?kwargs
Schlüsselwörter werden über die Variable kwargs aufgerufen:
# **kwargs collects keyword arguments into a dictionary
def some_function(**kwargs):
print(f'keywords: {kwargs} as {type(kwargs)}')
# Pass keyword arguments - they'll be collected into kwargs dict
some_function(key1='arg1', key2='arg2')
keywords: {'key1': 'arg1', 'key2': 'arg2'} as <class 'dict'>
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
**kwargs Argumente?