您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是否使用由另一个包导入的包是unpythonic,还是应该直接导入它?

5b51 2022/1/14 8:22:20 python 字数 3057 阅读 550 来源 www.jb51.cc/python

例如,我想使用numpy的isnan函数.我已经加载了pandas库: import pandas as pd pd.np.isnan(1) #=> False 这有效,但这有什么不利之处吗?或者我应该写 import pandas as pd import numpy as np np.isnan(1) #=> False 什么是好习惯? 您应该使用第二种方法至少有四个原因: >正如@aba

概述

import pandas as pd

pd.np.isnan(1) #=> False

这有效,但这有什么不利之处吗?或者我应该写

import pandas as pd
import numpy as np

np.isnan(1) #=> False

什么是好习惯?

>正如@abarnert在评论中所说,它遵循P000 0008中Public and internal interfaces规定的Python代码的官方指南.具体来说,PEP说:

All undocumented interfaces should be assumed to be internal.

和:

Imported names should always be considered an implementation detail.
Other modules must not rely on indirect access to such imported names
unless they are an explicitly documented part of the containing
module’s API,such as os.path or a package’s__init__ module that
exposes functionality from submodules.

因为NumPy是Pandas图书馆的无证方面(在帮助(pd)或官方网站上都没有提及),因此不应将其视为Pandas的官方部分.
> “Explicit is better than implicit”,第二种方法明确表示我们在代码中直接使用numpy库.然而,第一种方法通过熊猫图书馆“滑入”.>代码分析工具将无法看到您的代码直接使用NumPy.这可能会生成有关您的代码错误数据(例如它具有哪些依赖关系).> Pandas包含NumPy的事实只不过是一个实现细节.意思是,如果Pandas的制造商改变他们的内部代码以任何方式改变这个细节,那么你的所有Numpy代码都可能在它真的不应该突然中断. Numpy和Pandas是两个独立的东西,应该这样对待.

总结

以上是编程之家为你收集整理的是否使用由另一个包导入的包是unpythonic,还是应该直接导入它?全部内容,希望文章能够帮你解决是否使用由另一个包导入的包是unpythonic,还是应该直接导入它?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶