Nein, ``open`` ist ein weiteres Objekt (ein Funktionsobjekt), welches über das Modulobjekt erreichbar ist. Und ``open()`` ruft dieses Objekt auf.ratna_fong hat geschrieben:die Funktion open() ist also das Modul-Objekt, das an den Namen codecs gebunden wird?Leonidas hat geschrieben: codecs ist der Name an den das Modul-Objekt gebunden wird.
Deutsche Bücher vs. englische Bücher
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ja, hast du so richtig verstanden.ratna_fong hat geschrieben:Hierzu mal zur Sicherheit eine Verständnisfrage:
Code: Alles auswählen
i = 5 # 5 ist das Objekt # i ist der Name # das Objekt 5 wir an den Namen i gebunden
-
- User
- Beiträge: 38
- Registriert: Samstag 3. Juli 2010, 10:43
codecs.open("sample.txt")
codecs ist also der Name(Bezeichner), an den das FunktionsOBJEKT open() gebunden wird.
Ich hab immer gefragt, was denn codecs in codecs.open() ist.
da wurde immer gesagt, codecs sei das Objekt, finde ich irreführend. Naja, egal.
Wenn man also eine Funktion, eine Klasse, oder was auch immer (was ja alles Objekte sind) in dem Modul codecs verwenden will, muss man also immer den Bezeichner/Namen "codecs" nehmen, an den ein Objekt gebunden wird, insofern man nicht explizit folgendes definiert:
Bitte um Korrektur falls noch Denkfehler ist. Danke..
Ratna
codecs ist also der Name(Bezeichner), an den das FunktionsOBJEKT open() gebunden wird.
Ich hab immer gefragt, was denn codecs in codecs.open() ist.
da wurde immer gesagt, codecs sei das Objekt, finde ich irreführend. Naja, egal.
Wenn man also eine Funktion, eine Klasse, oder was auch immer (was ja alles Objekte sind) in dem Modul codecs verwenden will, muss man also immer den Bezeichner/Namen "codecs" nehmen, an den ein Objekt gebunden wird, insofern man nicht explizit folgendes definiert:
Code: Alles auswählen
import codecs as ratna
ratna.open("sample.txt")
Ratna
Und die Funktion `open` ist ein Attribut diese Objekts.Rebecca hat geschrieben:Nein. Das codecs-Modul ist das Modul-Objekt, das an den Namen codecs gebunden wird.ratna_fong hat geschrieben:die Funktion open() ist also das Modul-Objekt, das an den Namen codecs gebunden wird?
Edit: Du hast 2 Objekte! Das Objekt-Modul, das über den Bezeichner "codecs" aufrufbar ist, und das Funktions-Objekt, das über den Attributzugriff des Moduls erreichbar ist.
Edit2:
Code: Alles auswählen
import codecs
func = codecs.open
func("test.txt")
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
Gerhard Kocher
http://ms4py.org/
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Nein, das Funktionsobjekt ist an den Namen ``open`` gebunden. An den Namen ``codecs`` ist das Modulobjekt gebunden.ratna_fong hat geschrieben:codecs ist also der Name(Bezeichner), an den das FunktionsOBJEKT open() gebunden wird.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 38
- Registriert: Samstag 3. Juli 2010, 10:43
vielen Dank Jungs,
habs (endlich) verstanden. Sorry für die Umstände...
Gruss,
Eure Ratna
habs (endlich) verstanden. Sorry für die Umstände...
Gruss,
Eure Ratna