Ответ 1
Обычно я использую стиль строки документа Google, поэтому параметр словаря будет выглядеть так:
def func(a_dict):
"""Some function to do something to a dictionary.
Args:
a_dict (dict of str: int): Some mapping, I guess?
"""
...
Функция, которая принимает **kwargs
(примечание: это не совсем то же самое, что иметь параметр словаря), будет выглядеть так:
def func(**kwargs):
"""Some function to do stuff to arbitrary keyword arguments.
Args:
**kwargs: Arbitrary keyword arguments.
"""
...
Если есть определенные параметры, которые должны присутствовать (например, ваш key1
), они должны быть отдельными, а не свернутыми в **kwargs
.
В Python 3.x вы также можете использовать аннотации функций:
def func(a_dict: dict):
"""Some function to do something to a dictionary."""
...
Начиная с Python 3.5, вы можете быть еще более понятным, typing
:
from typing import Mapping
def func(a_dict: Mapping[str, int]):
"""Some function to do something to a dictionary."""
...