首页 > 解决方案 > 如何在您定义的函数中使用 Python 模块的函数而不导入超出函数的范围(即:R 具有 package::function)

问题描述

有没有办法将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))

我不必实际导入任何东西。有什么方法可以做我所引用的吗?如果没有,是否存在关于为什么不应该存在的争论(除了少量的处理速度)?

标签: rpython-3.xfunctionimportscope

解决方案


推荐阅读