Написание методов, которые взаимодействуют с различными форматами данных - PullRequest
0 голосов
/ 09 марта 2019

Я новичок в Python, но написал программы с Objective C ++, Java и R. Я пытаюсь использовать функцию, которая должна изящно отвечать, если пользователь дает аргумент, который является родным Python [], или если это столбец $ n \ times 1 $ из массива NumPy, или объект потока 1D-тензора, или Series из фрейма данных Pandas. У меня есть выбор написания функции, которая делает некоторый if then самоанализ на входе и затем делает правильные вещи, или я мог бы написать методы для различных типов объектов.

Пока я ищу в Google инструкции по этому вопросу, я нахожу множество документов по Python, написанных для начинающих программистов, и ни один из них не помогает мне понять, как профессионалы Python думают об этих объектно-ориентированных вопросах между пакетами.

Должен ли я сделать здесь отдельные посты по этим связанным вопросам?

  1. В моем файле, который обрабатывает эту работу, сколько пространства имен из numpy, pandas или tenorflow должно быть импортировано? Должен ли я импортировать только те функции, которые я использую в явном виде, чтобы запросить у объекта необходимую мне информацию?

Интересно, тесно связаны

  1. Влияет ли объем моего импорта на пользователей, которые импортируют мой модуль? Предположим, у меня есть import pandas as pnd, например. Если в сеансе пользователя есть что-то вроде import pandas as pd,, то есть ли в окружении пользователя две одинаковые плавающие копии?

  2. Есть ли способ "зарегистрировать" методы, которые я создаю для этих типов объектов? Я хотел бы, чтобы моя функция отображалась, когда у человека есть объект данного типа, и он делает самоанализ, чтобы получить список доступных методов?

  3. Можете ли вы предложить пакеты с исходным кодом, которые я должен проверить, чтобы изучить эти вещи для себя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...