Nachgestellter Unterstrich in 'np.ix_'

8

Warum enthält der Name np.ix_ einen abschließenden Unterstrich?

    
John Manak 20.02.2014, 15:58
quelle

2 Antworten

8

Ich kann keinen vollständigen Grund angeben, aber es ist für die Symmetrie mit np.r_ , np.c_ usw. Ich kann den Gesamtgrund schätzen:

Alle kurzen Zahlenoperatoren wie np.r_ , np.ix_ usw. sind auf interaktive Verwendung ausgerichtet.

Daher ist es üblich (wenn auch nicht ratsam), from numpy import * in einer interaktiven Konsole zu verwenden.

r , c , ix usw. sind wahrscheinlich Variablennamen. Daher haben sie wahrscheinlich das Suffix _ , um zu verhindern, dass jemand in einer interaktiven Sitzung eine Variable namens r oder ix definiert, nachdem er from numpy import * ausgeführt hat.

    
Joe Kington 20.02.2014, 16:45
quelle
1

ix_ wird in numpy.lib.index_tricks

gefunden

Dieses Modul ist zurückzuführen auf:

%Vor%

Es wurde vor vielen Jahren geschrieben und als Legacy-Komponente in die aktuelle numpy aufgenommen. Die Namen wurden vor vielen Jahren von einem Programmierer ausgewählt und nie an die Python-Community-Standards angepasst.

Von .ix_ doc:

  

Mit ix_ kann man schnell Index-Arrays erstellen, die indexieren       das Kreuzprodukt.

Meine Vermutung: 'i' für 'index', 'x' für 'cross', '_', um Verwechslungen mit einem (potentiell) gemeinsamen Indexvariablennamen zu vermeiden.

Ähnlich benannte Objekte aus demselben Modul sind r_ , c_ und s_ . Technisch sind sie keine Funktionen, da sie nicht aufrufbar sind (nimm () nicht). Aber sie sind indexierbar (nimm [] ). Sie sind tatsächlich Instanzen von Klassen mit __getitem__ -Definitionen. ogrid und mgrid sind ebenfalls indexierbare Objekte.

    
hpaulj 20.02.2014 20:16
quelle