Home  >  Article  >  Backend Development  >  Here are a few title options, playing with question phrasing: * **`from ... import` vs. `import .`: How do these Python import methods differ?** (Formal, clear) * **Python Imports: When is `from ...

Here are a few title options, playing with question phrasing: * **`from ... import` vs. `import .`: How do these Python import methods differ?** (Formal, clear) * **Python Imports: When is `from ...

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 00:53:03687browse

Here are a few title options, playing with question phrasing:

* **`from ... import` vs. `import .`: How do these Python import methods differ?**  (Formal, clear)
* **Python Imports: When is `from ... import` your best friend, and when is `import .` the w

Exploring the Nuances of from ... import and import .

In Python, you can import modules and their attributes either using from ... import or import .. While both techniques allow you to access external code, they differ in some crucial aspects.

Direct vs. Namespaced Access:

  • from ... import allows you to import specific attributes from a module and directly use them without prepending the module name. For example:
<code class="python">from urllib import request
print(request.urlopen('https://example.com'))</code>
  • import . imports the entire module into the current namespace and requires you to prefix all accesses with the module name. For example:
<code class="python">import urllib.request
print(urllib.request.urlopen('https://example.com'))</code>

Aliasing and Masking:

  • With from ... import, you can alias attributes to avoid naming conflicts or simplify access. For instance:
<code class="python">from os import open as open_
open_('myfile.txt')</code>
  • However, aliasing using from ... import can mask built-in functions or attributes. In this case, it's recommended to use a fully qualified name or import the required attribute explicitly.

Standard and Preferred Syntax:

The preferred syntax for importing modules and attributes depends on the specific use case. If you need direct access to the imported attribute without the module name prefix, from ... import is recommended. On the other hand, if you want to access the entire module and maintain a namespace for code organization, import . is a better choice.

The above is the detailed content of Here are a few title options, playing with question phrasing: * **`from ... import` vs. `import .`: How do these Python import methods differ?** (Formal, clear) * **Python Imports: When is `from .... For more information, please follow other related articles on the PHP Chinese website!

Statement:
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