Heim >Backend-Entwicklung >Python-Tutorial >Was sind die wichtigsten Änderungen an den Importanweisungen von Python 3 in Bezug auf relative und Sternimporte?

Was sind die wichtigsten Änderungen an den Importanweisungen von Python 3 in Bezug auf relative und Sternimporte?

Susan Sarandon
Susan SarandonOriginal
2024-11-28 22:26:18478Durchsuche

What are the Key Changes to Python 3's Import Statements Regarding Relative and Star Imports?

Änderungen in der Importanweisung in Python 3: Relative- und Sternimporte verstehen

In Python 3 wurden wesentliche Änderungen an der Importanweisung vorgenommen Verbessern Sie die Klarheit und vermeiden Sie mögliche Unklarheiten. Dieser Artikel geht auf diese Änderungen ein und erklärt ihre Auswirkungen für Programmierer.

Relative Importe

Relative Importe ermöglichen es Ihnen, Module relativ zum aktuellen Modulstandort zu importieren. In Python 2 waren relative Importe innerhalb von Paketen implizit erlaubt. In Python 3 ist diese Funktion jedoch veraltet. Absolute Importe und explizite relative Importe sind jetzt die unterstützten Optionen.

Absolute Importe geben den vollständigen Pfad des Moduls an, wie zum Beispiel:

import mypackage.mymodule

Explizite relative Importe verwenden die . und .. Syntax zur Angabe des relativen Pfads, wie zum Beispiel:

from .mymodule import MyModule

Dieser Pfad gibt an, dass sich mymodule im selben Verzeichnis wie das aktuelle Modul befindet.

Star Imports

Star-Importe, die alle Namen aus einem Modul importieren, waren bisher auf Modulebene und innerhalb von Funktionen in Python 2 erlaubt. In Python 3 ist jedoch star Importe sind nur im Code auf Modulebene zulässig.

In Python 2 könnten Sie beispielsweise das gesamte Mathematikmodul innerhalb einer Funktion importieren:

def sin_degrees(x):
    from math import *
    return sin(degrees(x))

In Python 3 ist dies nicht mehr der Fall gültig. Stattdessen können Sie entweder die spezifischen Funktionen importieren, die Sie benötigen:

def sin_degrees(x):
    from math import sin, degrees
    return sin(degrees(x))

Oder Sie können das gesamte Modul auf Modulebene importieren:

from math import *

def sin_degrees(x):
    return sin(degrees(x))

Diese Änderungen zielen darauf ab, die Übersichtlichkeit zu verbessern und zu reduzieren Beseitigen Sie Mehrdeutigkeiten und setzen Sie Best Practices bei der Modul- und Paketverwaltung in Python 3 und höher durch.

Das obige ist der detaillierte Inhalt vonWas sind die wichtigsten Änderungen an den Importanweisungen von Python 3 in Bezug auf relative und Sternimporte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn