Python 使用decorator在函数内部创建导入

Python 使用decorator在函数内部创建导入,python,python-import,python-decorators,Python,Python Import,Python Decorators,我正在研究一个用于地理处理的python库,名为。当我发现自己在以下问题 他们在一个带有装饰器的函数中进行导入 据我所知,我知道在函数内部调用导入是一种很好的做法,但是decorator会改变它吗 import rasterio.shutil @click.command(short_help="Transform coordinates.") @precision_opt @click.pass_context def transform(ctx, input, src_crs, dst_

我正在研究一个用于地理处理的python库,名为。当我发现自己在以下问题

他们在一个带有装饰器的函数中进行导入

据我所知,我知道在函数内部调用导入是一种很好的做法,但是decorator会改变它吗

import rasterio.shutil


@click.command(short_help="Transform coordinates.")
@precision_opt
@click.pass_context
def transform(ctx, input, src_crs, dst_crs, precision):
    import rasterio.warp
正如您所看到的,在以下函数和函数内部的rasterio.warp之前进行了一些导入


decorator是否会改变python解释它的方式?

否。在函数中包含导入的主要问题是,它会模糊当前模块对外部模块的依赖关系。修饰函数不会改变这一点。在函数中包含导入的主要问题是,它会模糊当前模块对外部模块的依赖关系。修饰函数不会改变这一点。