Heim Backend-Entwicklung Python-Tutorial Python – dir()-Funktion

Python – dir()-Funktion

Oct 17, 2016 pm 02:51 PM

dir()-Funktion

Chinesische Beschreibung:

Sie können die integrierte dir-Funktion verwenden, um moduldefinierte Bezeichner aufzulisten. Zu den Bezeichnern gehören Funktionen, Klassen und Variablen.

Wenn Sie dir() einen Modulnamen angeben, wird eine Liste der vom Modul definierten Namen zurückgegeben. Wenn keine Argumente angegeben werden, wird eine Liste der im aktuellen Modul definierten Namen zurückgegeben.

Schauen wir uns zunächst die Verwendung von „dir“ im importierten Systemmodul an. Wir sehen, dass es eine riesige Liste von Eigenschaften enthält.

Als nächstes verwenden wir die dir-Funktion, ohne ihr ein Argument zu übergeben – standardmäßig gibt sie die Eigenschaftenliste des aktuellen Moduls zurück. Beachten Sie, dass auch die importierten Module Teil der Liste sind.

Um die Wirkung von dir zu beobachten, definieren wir eine neue Variable a, weisen ihr einen Wert zu und überprüfen dann dir. Wir stellen fest, dass der Liste derselbe Wert wie oben hinzugefügt wird. Wir verwenden die del-Anweisung, um die Variable/Eigenschaft im aktuellen Modul zu löschen, und diese Änderung spiegelt sich erneut in der Ausgabe von dir wider.

Eine kleine Anmerkung zu del – diese Anweisung wird verwendet, um eine Variable/einen Namen nach der Ausführung zu löschen. In diesem Beispiel, del a, können Sie die Variable a nicht mehr verwenden – es wird so sein, als ob sie nie existiert hätte.

Version:

Diese Funktion wird in allen Versionen unterstützt und ist weiterhin in Python3 verfügbar.

Codebeispiel:

>>> import struct
>>> dir()   # show the names in the module namespace
['__builtins__', '__doc__', '__name__', 'struct']
>>> dir(struct)   # show the names in the struct module
['Struct', '__builtins__', '__doc__', '__file__', '__name__',
 '__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
 'unpack', 'unpack_from']
>>> class Shape(object):
        def __dir__(self):
            return ['area', 'perimeter', 'location']
>>> s = Shape()
>>> dir(s)
['area', 'perimeter', 'location']
Nach dem Login kopieren

Englische Beschreibung:

dir([object])

Ohne Argumente die Liste der Namen im aktuellen lokalen Bereich zurückgeben. Versuchen Sie mit einem Argument, eine Liste gültiger Attribute für dieses Objekt zurückzugeben.

Wenn das Objekt eine Methode namens __dir__() hat, diese Methode wird aufgerufen und muss die Liste der Attribute zurückgeben. Dadurch können Objekte, die eine benutzerdefinierte Funktion __getattr__() oder __getattribute__() implementieren, die Art und Weise anpassen, wie dir() ihre Attribute meldet.

Wenn das Objekt __dir__ nicht bereitstellt. () versucht die Funktion ihr Bestes, Informationen aus dem __dict__-Attribut des Objekts (sofern definiert) und aus seinem Typobjekt zu sammeln. Die resultierende Liste ist nicht unbedingt vollständig und kann ungenau sein, wenn das Objekt über ein benutzerdefiniertes __getattr__() verfügt.

Der standardmäßige dir()-Mechanismus verhält sich bei verschiedenen Objekttypen unterschiedlich, da er versucht, die relevantesten und nicht die vollständigen Informationen zu erzeugen:

Wenn das Objekt ein Modulobjekt ist, enthält die Liste die Namen der Attribute des Moduls.

Wenn das Objekt ein Typ- oder Klassenobjekt ist, enthält die Liste die Namen seiner Attribute und rekursiv der Attribute seiner Basen.

Andernfalls die Die Liste enthält die Attributnamen des Objekts, die Namen der Attribute seiner Klasse und rekursiv die Attribute der Basisklassen seiner Klasse.


Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie benutze ich eine schöne Suppe, um HTML zu analysieren? Wie benutze ich eine schöne Suppe, um HTML zu analysieren? Mar 10, 2025 pm 06:54 PM

Wie benutze ich eine schöne Suppe, um HTML zu analysieren?

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden Mar 05, 2025 am 09:58 AM

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden

Bildfilterung in Python Bildfilterung in Python Mar 03, 2025 am 09:44 AM

Bildfilterung in Python

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch? Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch? Mar 10, 2025 pm 06:52 PM

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?

Einführung in die parallele und gleichzeitige Programmierung in Python Einführung in die parallele und gleichzeitige Programmierung in Python Mar 03, 2025 am 10:32 AM

Einführung in die parallele und gleichzeitige Programmierung in Python

Serialisierung und Deserialisierung von Python -Objekten: Teil 1 Serialisierung und Deserialisierung von Python -Objekten: Teil 1 Mar 08, 2025 am 09:39 AM

Serialisierung und Deserialisierung von Python -Objekten: Teil 1

So implementieren Sie Ihre eigene Datenstruktur in Python So implementieren Sie Ihre eigene Datenstruktur in Python Mar 03, 2025 am 09:28 AM

So implementieren Sie Ihre eigene Datenstruktur in Python

Mathematische Module in Python: Statistik Mathematische Module in Python: Statistik Mar 09, 2025 am 11:40 AM

Mathematische Module in Python: Statistik

See all articles