代码之家  ›  专栏  ›  技术社区  ›  cglacet

导入和名称绑定最佳实践

  •  -1
  • cglacet  · 技术社区  · 7 年前

    Importing modules in Python - best practice ,但下面的案例并没有详细讨论。

    如果我们有一个模块 coordinates Coordinates 和几个实用函数一起工作 协调 类型。以下两件事的推荐方法是什么:

    1. 导入完整的 协调 模块
    2. 装订时 协调 coordinates.Coordinates

    import coordinates
    from coordinates import Coordinates
    

    但这似乎有点奇怪,另一方面,我看到的另一个解决方案似乎也不是很干净:

    import coordinates 
    Coordinates = coordinates.Coordinates
    

    这两种方法中,哪一种是最常用或最喜欢的方法?或者这两种方法都不应该使用,在这种情况下,什么是更好的解决方案?

    另一个我正在考虑但我更愿意避免的选择是在参考问题中提出的: import coordinates as crd crd.Coordinates 而不是 协调 . 我之所以要避免这样做,是因为这样会降低代码的可读性,特别是当我使用 协调 坐标。坐标 即使这看起来是多余的。

    我也考虑过 making my module callable coordinates() 自动呼叫 Coordinates() 但我也不确定它是否真的是一个好的解决方案(我也不确定在这种情况下如何处理文档)。

    1 回复  |  直到 7 年前
        1
  •  0
  •   brunns    7 年前

    这是个人喜好的问题,但对我自己来说,我同意:

    from coordinates import Coordinates
    

    除非 也就是说,你用的东西不止,哦,三到四件 coordinates 模块,或从中导入的某个名称与从其他地方使用的名称冲突。在这两种情况下,都要

    import coordinates