Seite 4 von 4

Re: Deutsche Bücher vs. englische Bücher

Verfasst: Freitag 23. Juli 2010, 16:38
von Leonidas
ratna_fong hat geschrieben:
Leonidas hat geschrieben: codecs ist der Name an den das Modul-Objekt gebunden wird.
die Funktion open() ist also das Modul-Objekt, das an den Namen codecs gebunden wird?
Nein, ``open`` ist ein weiteres Objekt (ein Funktionsobjekt), welches über das Modulobjekt erreichbar ist. Und ``open()`` ruft dieses Objekt auf.

Re: Deutsche Bücher vs. englische Bücher

Verfasst: Freitag 23. Juli 2010, 16:39
von derdon
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
Ja, hast du so richtig verstanden.

Re: Deutsche Bücher vs. englische Bücher

Verfasst: Freitag 23. Juli 2010, 16:54
von ratna_fong
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:

Code: Alles auswählen

import codecs as ratna

ratna.open("sample.txt")
Bitte um Korrektur falls noch Denkfehler ist. Danke..

Ratna

Re: Deutsche Bücher vs. englische Bücher

Verfasst: Freitag 23. Juli 2010, 17:04
von ms4py
Rebecca hat geschrieben:
ratna_fong hat geschrieben:die Funktion open() ist also das Modul-Objekt, das an den Namen codecs gebunden wird?
Nein. Das codecs-Modul ist das Modul-Objekt, das an den Namen codecs gebunden wird.
Und die Funktion `open` ist ein Attribut diese Objekts.

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")
Damit wird z.B. das Funktions-Objekt an den Bezeichner "func" gebunden und kann über den Bezeichner auch aufgerufen werden.

Re: Deutsche Bücher vs. englische Bücher

Verfasst: Freitag 23. Juli 2010, 17:11
von Leonidas
ratna_fong hat geschrieben:codecs ist also der Name(Bezeichner), an den das FunktionsOBJEKT open() gebunden wird.
Nein, das Funktionsobjekt ist an den Namen ``open`` gebunden. An den Namen ``codecs`` ist das Modulobjekt gebunden.

Re: Deutsche Bücher vs. englische Bücher

Verfasst: Freitag 23. Juli 2010, 21:26
von ratna_fong
vielen Dank Jungs,
habs (endlich) verstanden. Sorry für die Umstände...
Gruss,
Eure Ratna