python - 我应该在哪里导入 urllib2 来上课?

标签 python coding-style module

我有一个类需要访问 urllib2,对我来说这个简单的例子是:

class foo(object):
    myStringHTML = urllib2.urlopen("http://www.google.com").read()

我应该如何构建我的代码以包含 urllib2?通常,我想将 foo 存储在具有许多其他类的实用程序模块中,并能够从模块中单独导入 foo:

from utilpackage import foo

将导入放入类中是正确的样式吗?这对我来说似乎很奇怪,但它确实有效....

class import_u2_in_foo(object):
    import urllib2
    myStringHtml = urllib2.urlopen("http://www.google.com").read()

或者我应该将 foo 移动到另一个包中以便我总是使用

import foo
# then foo.py contains
import urllib2
class foo(object):
    myStringHtml = urllib2.urlopen("http://www.google.com").read()

我应该如何构建我的代码以使其成为最 pythonic :)?

最佳答案

你应该在 utilpackage 模块中导入它,但只从它导出类 foo:

import urllib2

__all__ = ["foo"]

class foo(object):
    myStringHtml = urllib2.urlopen("http://www.google.com").read()

然后你可以做

from utilpackage import foo

但不是

from utilpackage import urllib2

在我看来,这是来自进口的最佳做法。

关于python - 我应该在哪里导入 urllib2 来上课?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205712/

相关文章:

python - 创建一个在启动时仅打开终端的 Python/py2app 应用程序?

c++ - Switch Case 语句 C++ 编码风格

r - 对 R 包中的函数进行分组

帮助中列出的 Python 模块与 pip 找到的不同

python - 使用 modelformset_factory 时如何区分 django 中的表单集?

Python - 正则表达式无法处理无效字符列表?

python - 是否可以直接使用 pymongo 对子文档的 mongodb 数组进行排序?

Java风格: Catching a bunch of slightly different errors

visual-studio - 将Visual Studio的 'Code Style settings'导出为.editorconfig

linux - 在 Linux 内核模块中自定义 .mod.c MODULE_ALIAS