Python-Funktion dir()-Funktion

巴扎黑
Freigeben: 2017-08-17 11:03:10
Original
2475 Leute haben es durchsucht

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 Eingabe-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])

Gibt ohne Argumente die Liste der Namen im aktuellen zurück Lokaler Bereich. Versuchen Sie, mit einem Argument eine Liste gültiger Attribute für dieses Objekt zurückzugeben.

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

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

Der Standardmechanismus von dir() verhält sich anders mit unterschiedlichen Objekttypen, da versucht wird, möglichst relevante und nicht vollständige Informationen zu liefern:

Wenn es sich bei dem Objekt um ein Modulobjekt handelt, enthält die Liste die Namen der Modulattribute.

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

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

Das obige ist der detaillierte Inhalt vonPython-Funktion dir()-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!