`

Python_import Vs from module import

 
阅读更多

import 需要加上模块名的限定。

from module import 导入到局部名字空间,所以它可以直接使用,而不需要加上模块名的限定。可以导入独立的项或使用 from module import * 来导入所有东西

 

>>> import types

>>> types.FunctionType

<type 'function'>

>>> FunctionType # FunctionType 本身没有被定义在当前名字空间中;它只存在于 types 的上下文环境中。

Traceback (innermost last):

  File "<interactive input>", line 1, in ?

NameError: There is no variable named 'FunctionType'

>>> from types import FunctionType

>>> FunctionType

<type 'function'>

 

什么时候你应该使用 from module import?

如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import。

如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import。

如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module 来避免名字冲突。

ps: 尽量少用 from module import * ,因为判定一个特殊的函数或属性是从哪来的有些困难,并且会造成调试和重构都更困难。

分享到:
评论

相关推荐

    python_docx-0.8.10-py2.py3-none-any.whl

    在开发环境中输入import docx测试三方库有没有成功,显示Import Error: No module named 'exceptions' 原来是通过命令行下载的docx安装包还没有完全兼容python3,估计这个安装包还只兼容python 2(python2 和python3...

    Visual Studio2015调用python时PyImport-ImportModule返回NULL的问题

    在使用Visual Studio 2015进行C++编程并尝试调用Python库时,可能会遇到一个常见问题:当你试图使用`PyImport_ImportModule`函数加载Python模块时,该函数返回`NULL`,这意味着模块加载失败。这通常是由多种原因引起...

    python中import reload __import__的区别详解

    from module import *|child[,child1,...] 注意:多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。 实例: pythontab.py  #!/usr/bin/env python #encoding...

    PYTHON_TRAIN_Pythontrain_pythontrain()_python简单练习_pythontrain_tr

    在Python中,我们可以使用内置的`import`语句来引入其他模块或脚本。这在我们需要使用外部函数、类或者数据时非常有用。例如,如果你想从一个名为“my_module.py”的文件中导入一个名为“my_function”的函数,你...

    Python内置函数——__import__ 的使用方法

    2. **与`import`的区别**: 虽然`__import__(module)`的效果类似于`import module`,但两者之间还是存在细微差别。例如,当`name`参数包含点(`.`)时,`__import__`会返回顶级包而不是具体命名的模块。但是,如果`...

    python-docx.rar

    显示Import Error: No module named 'exceptions' 原来是通过命令行下载的docx安装包还没有完全兼容python3,估计这个安装包还只兼容python 2(python2 和python3差别还是挺大的,虽然现在python 3出来很久了,但是...

    Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析

    module = importlib.import_module(module_name) return module ``` 2. **使用反射判断是否有对应类、方法,无则设置**:可以通过`hasattr`和`getattr`等函数来检查模块是否具有特定的属性或方法。如果没有,则...

    python __main__

    from module import main main() ``` 运行 `another_module.py` 时,由于 `module.py` 是作为模块被导入的,所以 `__name__` 的值为 `'module'`(而不是 `'__main__'`),因此 `if __name__ == '__main__':` ...

    python import

    module = importlib.import_module('module_name') ``` 8. **包的结构和命名**: 遵循PEP 8的建议,模块和包的命名应使用小写字母和下划线(`_`),避免使用数字,以确保导入的可读性。 了解并掌握这些导入策略...

    PyPI 官网下载 | python_velbus-2.0.21-py3-none-any.whl

    2. **导入**:在Python代码中,可以通过`import velbus`来引入库,然后利用其提供的API进行通信操作。 3. **使用**:`python_velbus`库提供了丰富的模块和类,例如`Velbus`类用于创建与Velbus网络的连接,`Module`...

    csv_module_python_webmining_

    标题 "csv_module_python_webmining_" 暗示了这个主题是关于使用Python的CSV模块进行网络挖掘。网络挖掘通常涉及收集、清洗和分析互联网上的数据,而CSV(Comma Separated Values)文件格式常用于存储和交换结构化...

    python_c__api.pdf

    - `PyImport_ImportModule`函数用于动态导入Python模块。 - C API还提供了更底层的导入机制,如解析`.pyc`文件和处理导入路径。 9. **内置函数和全局变量**: - C API允许访问和操作Python的内置函数和全局变量...

    lazyimport:lazyimport让您懒惰地导入python模块

    from lazyimport import lazyimport lazyimport ( globals (), """ from mypackage import submodule import another_package """ ) 内容 使用以下命令安装lazyimport : pip install lazyimport lazyimport...

    python_C_api调用实现demo

    例如,`Py_InitModule()`用于初始化一个Python模块,`PyObject* PyImport_ImportModule(const char *name)`用于导入Python模块,`PyArg_ParseTuple()`用于解析函数参数,`PyObject_CallObject()`用于调用Python对象...

    python3 报错cannot import name '_AES'

    在Python编程环境中,有时我们可能会遇到“cannot import name '_AES'”这样的错误,尤其是在尝试使用像`Crypto.Cipher.AES`这样的加密库时。这个错误通常意味着Python无法找到 `_AES` 这个内部模块或者动态链接库...

    使用Celery的Django异步信号处理。_Python_下载.zip

    app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks() ``` 3. **设置Django配置**:在`settings.py`中,添加Celery配置,包括中间件的选择: ```python BROKER_URL ...

    Python使用import导入本地脚本及导入模块的技巧总结

    from module_name import function_name as fn ``` 4. **导入所有对象**:虽然不推荐,但可以使用`*`通配符导入模块中的所有对象: ```python from module_name import * ``` 这种做法通常被认为是不良...

    uploadable_modules:可以通过base_import_module在Odoo中导入的模块

    uploadable_modules 可以通过base_import_module在Odoo中导入的模块

Global site tag (gtag.js) - Google Analytics