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

导入python模块的有效实践是什么?

  •  0
  • Jake  · 技术社区  · 14 年前

    我在Django中编写了一些视图,它们实际上是python函数。我很好奇是否有更好的方法来整理我的档案。

    就是这个。。。

    import a, b
    def x(request): return a(request)
    def y(request): return b(request)
    

    不如放进两个文件?

    import a
    def x(request): return a(request)
    

    import b
    def y(request): return b(request)
    

    由于对每个请求只调用其中一个函数,所以在我看来,让另一个函数位于同一个文件中并导入另一个所需的所有模块是一个坏主意。我说得对吗?django是不是只进口整批货?

    4 回复  |  直到 14 年前
        1
  •  0
  •   Rafe Kettler    14 年前

    您不必担心使用了多少文件;性能上的差异可以忽略不计。也就是说,有更有效和可读的方法来使用导入。

    只进口你需要的;从不使用 from x import * 除非你真的要在X中使用所有东西。不要嵌套导入;而不是 import a, b ,写入:

    import a
    import b
    

    至于你的具体问题,你应该有一个模块来代表一个典型的行动过程。如果总是要运行两个函数,一个接一个,请将它们放在同一个文件中。如果没有,做对你和你的同事最有意义的事。请记住,采用以下形式的导入 import a (与 from x import y, z )相对便宜。

        2
  •  3
  •   Ignacio Vazquez-Abrams    14 年前

    除非您是通过CGI运行Django(我真的希望您没有运行CGI),否则导入将在第一次执行之后被缓存,并且整个参数都没有意义。

        3
  •  2
  •   dan_waterworth    14 年前

    没有太大的区别,用最可读的。

        4
  •  0
  •   Eric Pauley    14 年前

    另外,不要这样做:

    def x(request): return a(request)
    

    最好调用原始函数。