Как использовать функции модуля Python внутри функции, которую вы определяете, БЕЗ импорта вне области вашей функции (т. Е. У R есть package :: function) - PullRequest
0 голосов
/ 08 октября 2019

Есть ли способ включить Python функции из внешнего модуля / библиотеки в функцию, которую вы пишете / определяете, , не импортируя их глобально или за пределы области действия функции ?

Например, в R вы можете сделать package::function:

myfxn <- function(x){           # R example
  dplyr::as_tibble(x)
}

Я бы хотел сделать что-то подобное в Python, но, насколько я могу судить, люди обычнопросто импортируйте модули / элементы модулей вверху файла (для скорости, краткости, полноты и т. д.). Я знаю, что технически вы можете сделать что-то вроде этого:

Пример того, что я знаю, вы можете сделать вPython (но не то, что я ищу):

def myfxn(x):                   # Python
    from pandas import DataFrame 
    return(DataFrame(x))

... Но что мне действительно нравится, так это способ использования функции, такой как pandas DataFrame, безнеобходимость глобального импорта. Хотелось бы, чтобы было что-то вроде ...

def myfxn(x):                   # Python
    return(pandas.DataFrame(x))

Где бы мне не пришлось на самом деле импортировать что-нибудь. Есть ли способ сделать то, на что я ссылаюсь? Если нет, есть ли аргумент (за исключением небольшого количества скорости обработки) о том, почему не должно быть?

...