Существует ли соглашение для предупреждения пользователя о том, что переданный параметр будет изменен? - PullRequest
0 голосов
/ 24 марта 2020

В python и (необязательно) pep8, существует ли обычный способ сообщить пользователю, что переданный параметр (например, dict) будет изменен вызываемой функцией?

1 Ответ

3 голосов
/ 24 марта 2020

Возвращение None из функции используется как индикатор того, что объект мог быть изменен на месте. Например, sort() возвращает None, а sorted() возвращает отсортированную копию списка ввода и оставляет сам ввод (хотя, на самом деле, sort() - это метод в списке).

Это не самый лучший показатель: наличие хорошей документации и ее написание в верхней части строки do c, вероятно, лучше (например, как делает random.shuffle).
Но это именно то, что делают встроенные и стандартные библиотечные функции.


Краткое примечание о некоторых других библиотеках: NumPy s sort возвращает и не изменяет на месте, поэтому имеет другое поведение по сравнению со встроенной функцией sort. Pandas функции и методы часто имеют логический аргумент inplace, который по умолчанию обычно равен False, поэтому по умолчанию возвращается измененная копия.

...