Значения по умолчанию должны остаться.
Декораторы также должны быть удалены, но это не так важно.
Исходный источник:
# Comments
@decorator1
@decorator2(
a=1,
b=1,
)
def my_func(
a: typing.List = 14,
b: 'CustomType' = None,
c: Whatever('foo') = 42,
d: Whatever('foo') = some_function,
) -> typing.NamedTuple(
'Dummy',
[
('r1': 'CustomType'),
('21': 'CustomType2'),
]
):
...
Желаемый источник:
def my_func(
a = 14,
b = None,
c = 42,
d = some_function,
):
...
Я могу получить источник, используя inspect.getsource(my_func)
, но мне нужно удалить аннотации.Как я могу это сделать?Желательно использовать стандартные модули.