## Python Modules: When to Use `from ... import` vs `import ...`?

Barbara Streisand
Release: 2024-10-26 01:41:02
Original
342 people have browsed it

## Python Modules: When to Use `from ... import` vs `import ...`?

Importing Modules: from ... import vs import .

When working with Python modules, there are two common syntax options for importing elements: from ... import and import ..

from ... import

This syntax allows you to import specific elements from a module directly into your namespace. For example, to import the request class from the urllib module:

from urllib import request
Copy after login

This allows you to access the request class directly without prefixing it with urllib.

import .

This syntax imports the entire module into your namespace. For example, to import the entire urllib module:

import urllib
Copy after login

In this case, you would need to access the request class using its fully qualified name:

urllib.request
Copy after login

Interchangeability

In most cases, these two syntaxes are interchangeable. However, there is one key difference:

  • from ... import directly imports elements into your namespace. This can lead to namespace pollution if you import too many elements from multiple modules.
  • import . imports the module itself. This allows you to access all its elements, but they are not directly imported into your namespace.

Standard and Preferred Syntax

There is no absolute standard or preferred syntax between from ... import and import .. The choice is up to the developer and should be based on the specific needs of the situation.

Aliasing Imports

When importing modules using from ... import, you can also specify aliases to avoid name clashes or simplify usage. For example:

from os import open as open_
Copy after login

This lets you use os.open without masking the built-in open() function, which returns file handles.

The above is the detailed content of ## Python Modules: When to Use `from ... import` vs `import ...`?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!