在类中放置`import`模块的位置?

时间:2017-10-20 07:52:19

标签: python

我使用标准库定义了一个具有多个methods的类。

 class Dostuff:
    def __init__(self):
        pass

    def read_book(self):
        import os
        pass

    def listen_music(self):
        import os.path
        pass

    def ask_question(self):
        import glob
        pass

班级内合适的地方在哪里?

该类将用作重复应用的模块。

4 个答案:

答案 0 :(得分:1)

将所有导入放在文件顶部是一件好事。 PEP-8中有进口风格指南。

https://www.python.org/dev/peps/pep-0008/#imports

在你的情况下:

#!/usr/bin/python3
import os
import os.path
import glob

 class Dostuff:
    def __init__(self):
        pass

    def read_book(self):
        pass

    def listen_music(self):
        pass

    def ask_question(self):
        pass

答案 1 :(得分:1)

导入

PEP 8

  

导入总是放在文件的顶部,就在任何模块注释和文档字符串之后,以及模块全局变量和常量之前。

答案 2 :(得分:0)

你误解了import的范围。 首先,将模块放在顶部是PEP的做法, 其次,最重要的是,它不是最佳实践,而是以这种方式运作。 每次从文件(或模块)导入任何classfunctionimport **始终保持领先。

答案 3 :(得分:-1)

通常,导入任何类型模块的最佳做法是在您编写的文件的顶部执行此操作。因此,在您的情况下,它将如下所示:

import os
import glob

class Dostuff:
    def __init__(self):
        pass

    def read_book(self):
        pass

    def listen_music(self):
        pass

    def ask_question(self):        
        pass