Ein Hinweis auf Missverständnisse beim Versuch, das gesamte selbst erstellte Modul mit Python3 zu laden

was ist passiert

Beachten Sie das Missverständnis, wenn Sie versuchen, mehrere Klassen (Apple, Orange, Grape) mit "Obst importieren" in einem selbst erstellten Modul (obst.py) zu laden. Referenz: http://www.python-izm.com/contents/basis/import.shtml

Dieses Missverständnis

Angenommen, Sie haben die folgenden Module.

fruits.py


class Apple():
  def hoge():
    pass

class Orange():
  def hoge():
    pass

class Grape():
  def hoge():
    pass

Als ich die Klasse in diesem Modul mit "Früchte importieren" las und versuchte, eine Instanz zu erstellen, trat der folgende Fehler auf.

>>> import fruits
>>> apple = Apple()
                                                                                            
>>> type(apple)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Apple' is not defined  

Behandeln Sie es richtig als "Modulname.Klasse". Die Ursache für dieses Missverständnis war, dass das "Importmodul" versuchte, es wie "Typ (Klassenname)" zu behandeln.

>>> import fruits    
>>> type(fruits.Apple)
<class 'type'>   

Wenn Sie es wie "Typ (Klassenname)" behandeln möchten, gehen Sie wie folgt vor.

>>> from fruit import Apple
>>> type(Apple)
<Class 'type'>

Nachtrag

Wir haben einen Kommentar von Shiracamus erhalten. Wenn Sie es wie Typ (Klasse) machen möchten, können Sie from module import * schreiben.

>>> from fruit import *
>>> type(Apple)
<class 'type'>

Recommended Posts

Ein Hinweis auf Missverständnisse beim Versuch, das gesamte selbst erstellte Modul mit Python3 zu laden
Memo mit Python mit HiveServer2 von EMR verbunden
[Python] Hinweise beim Versuch, Numpy mit Cython zu verwenden
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Die Geschichte, ein Modul zu erstellen, das E-Mails mit Python überspringt
Erstellen Sie ein Kompatibilitätsbewertungsprogramm mit dem Zufallsmodul von Python.
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Fehler beim Installieren eines Moduls mit Python pip
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
[Python] Ein grobes Verständnis des Protokollierungsmoduls
Die Geschichte, ein Tool zum Laden von Bildern mit Python zu erstellen ⇒ Speichern unter
Beachten Sie bei der Verwendung von PyQtGraph mit Python Pyside die Reihenfolge des Imports
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Ein Memo zum visuellen Verstehen der Achse von Pandas.Panel
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Ein Memo, dass ich den Datenspeicher mit Python berührt habe
Python Hinweis: Das Rätsel, einer Variablen eine Variable zuzuweisen
Eine Geschichte, die beim Versuch, die Python-Version mit GCE zu aktualisieren, hängen blieb
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Ich blieb stecken, als ich versuchte, einen relativen Pfad mit relative_to () in Python anzugeben
Ein Memo darüber, wie man das schwierige Problem der Erfassung von FX mit AI überwinden kann
Eine Geschichte über den Versuch, Linter mitten in einem Python (Flask) -Projekt vorzustellen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
[Ubuntu] So löschen Sie den gesamten Inhalt des Verzeichnisses
Erleichtern Sie die Anzeige von Python-Modulausnahmen
Mindestkenntnisse, um mit dem Python-Protokollierungsmodul zu beginnen
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
Ein Memo, wenn mit Python + OpenCV schnell ein Gesicht erkannt wird
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".
[Python, Selenium, PhantomJS] Eine Geschichte beim Scrapen einer Website mit fauler Last
So bestimmen Sie die Existenz eines Selenelements in Python
[Python, Ruby] Selen-Holen Sie sich Webseiteninhalte mit Webdriver
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
So überprüfen Sie die Speichergröße einer Variablen in Python
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
[Python] Ein Memo zum Betreiben eines mit GBDK mit PyBoy erstellten ROM
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Hören wir auf zu kopieren. Wir stellen vor: flati, ein Modul, das sich mit Python abflacht
[Python3] Definition eines Dekorators, der die Ausführungszeit einer Funktion misst
Was tun, wenn ein Teil des Hintergrundbilds transparent wird, wenn Sie transparente Bilder mit Pillow kombinieren?
Die Idee, die Konfigurationsdatei mit einer Python-Datei anstelle von yaml zu füttern
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Bereiten Sie eine verteilte Lasttestumgebung mit dem Python-Lasttest-Tool Locust vor
Umgang mit dem Fehler "Fehler beim Laden des Moduls" canberra-gtk-module ", der beim Ausführen von OpenCV auftritt
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Versuchen Sie, wenn Visual Studio Code ein Python-Modul nicht laden kann
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
[Python] Ein Hinweis, dass ich das Verhalten von matplotlib.pyplot zu verstehen begann
Eine Geschichte, in der der Algorithmus zu einem lächerlichen Ergebnis kam, als er versuchte, das Problem der reisenden Verkäufer richtig zu lösen
[Python] Eine einfache Funktion zum Ermitteln der Mittelkoordinaten eines Kreises
[Python] Ein Programm, das den Inhalt der Liste nach links dreht