Я пытаюсь понять разницу между аргументами, не являющимися ключевыми словами, и аргументами ключевого слова.
Мне кажется, что каждый аргумент можно использовать и как ключевой аргумент.
def print_employee_details(name, age=0, location=None):
"""Print details of employees.
Arguments:
name: Employee name
age: Employee age
location: Employee location
"""
print(name)
if age > 0:
print(age)
if location is not None:
print(location)
Здесь я задокументировал функцию с тремя ключевыми аргументами.
Я могу вызвать эту функцию без аргументов ключевого слова:
print_employee_details('Jack', 24, 'USA')
Или я могу вызвать эту функцию с аргументами ключевого слова.
print_employee_details(name='Jack', age=24, location='USA')
Поэтому мне кажется, что документирование всех трех параметров в качестве аргументов ключевого слова, как показано ниже, также нормально.
def print_employee_details(name, age=0, location=None):
"""Print details of employees.
Keyword Arguments:
name: Employee name
age: Employee age
location: Employee location
"""
print(name)
if age > 0:
print(age)
if location is not None:
print(location)
Так в чем же на самом деле разница между обычными аргументами и ключевыми аргументами?