Я прихожу из Java и изучаю Python. До сих пор то, что я нашел очень классным, но очень трудно адаптироваться, заключается в том, что нет необходимости объявлять типы. Я понимаю, что каждая переменная является указателем на объект, но пока я не могу понять, как создать код.
Например, я пишу функцию, которая принимает массив 2D NumPy. Тогда в теле функции я вызываю различные методы этого массива (который является объектом array
в Numpy). Но затем в будущем предположим, что я хочу использовать эту функцию, к тому времени я мог бы полностью забыть, что я должен передать функции как тип. Что люди обычно делают? Они просто пишут для этого документацию? Потому что, если это так, то это требует большего набора текста и поставит вопрос о том, чтобы не объявлять тип.
Также предположим, что я хочу передать объект, похожий на массив в будущем. Обычно в Java реализуется интерфейс, а затем пусть оба класса реализуют методы. Затем в параметрах функции я определяю переменную типа интерфейса. Как решить эту проблему на Python или какие подходы могут быть использованы для создания одной и той же идеи?