aaaa
Ich würde sagen, Punkt 3 + 5 sind *nicht* wahr. Was du meinst, ist vermutlich, wenn ein Tupel zurückgeliefert wird, welches mehrere Werte enthält. Als eigentlichen Rückgabewert würde ich hier aber nur dieses eine Tupel ansehen.
-
BlackJack
@mo---: 3) ist zwar wahr, aber das ist eine Möglichkeit die man nicht benutzen sollte. Damit macht man Funktionen voneinander Abhängig auf eine Weise die nicht leicht zu durchschauen ist. Das führt schnell zu Code der nicht mehr nachvollziehbar ist und in dem Fehler auftreten können, die man nur sehr schwer finden kann.
5) ist falsch. Jede Funktion kann nur einen Wert zurückgeben. Das kann natürlich ein zusammengesetzter Wert sein wie eine Liste oder ein Tupel oder beliebig komplexe Objekte die wiederum andere Objekte enthalten oder darauf verweisen, aber der Rückgabewert ist immer genau *ein* Objekt.
Edit: Was das Programm zum belegen der Aussagen angeht: das riecht sehr nach Hausaufgaben.
5) ist falsch. Jede Funktion kann nur einen Wert zurückgeben. Das kann natürlich ein zusammengesetzter Wert sein wie eine Liste oder ein Tupel oder beliebig komplexe Objekte die wiederum andere Objekte enthalten oder darauf verweisen, aber der Rückgabewert ist immer genau *ein* Objekt.
Edit: Was das Programm zum belegen der Aussagen angeht: das riecht sehr nach Hausaufgaben.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Da es sich hier offensichtlich um eine Hausaufgabe handelt: Stelle bitte nur konkrete Fragen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Ich würde trotzdem sagen, dass 3) falsch ist, da globale Variablen nur eine Möglichkeit (wenn auch eine schlechte) sind, Wert zwischen Funktionen auszutauschen, die Richtung (ob Ein- oder Rückgabewert) wird aber nicht festgelegt. Rückgabewert ist da für mich eindeutig ein return value, also das was nach return steht.
Zu 2): Das ist natürlich falsch. Da globale bzw. lokale Variablen nicht speziell gekennzeichnet werden, kann innerhalb eines Namensraums ein Bezeichner entweder lokal oder global sein, aber nicht beides zugleich.
Zu 4): "main" ist in Python kein reserviertes Wort, also ist "main" das, als was es definiert wurde.
Beleg:
Zu 5): wenn Wert ≡ Objekt, dann wird nur ein Objekt zurückgegeben.
Zu 2): Das ist natürlich falsch. Da globale bzw. lokale Variablen nicht speziell gekennzeichnet werden, kann innerhalb eines Namensraums ein Bezeichner entweder lokal oder global sein, aber nicht beides zugleich.
Zu 4): "main" ist in Python kein reserviertes Wort, also ist "main" das, als was es definiert wurde.
Beleg:
Code: Alles auswählen
main = 5
print main # keine Funktion :-(-
BlackJack
@Sirius3: Die Begründung von 2) verstehe ich nicht. Ich kann doch problemlos den gleichen Bezeichner auf Modulebene und lokal in einer Funktion für verschiedene Dinge verwenden. Natürlich sind das zwei Namensräume. Nur deshalb *funktioniert* es ja. Das innerhalb eines Namensraums beides unter dem gleichen Bezeichner verfügbar sein soll, war ja nicht gefragt. Nur ob man in beiden den gleichen Namen verwenden kann.
@BlackJack: es gibt sogar eine Fehlermeldung, die sagt, dass es nicht geht
Code: Alles auswählen
>>> def some_function(a):
... global a
...
File "<stdin>", line 1
SyntaxError: name 'a' is local and global
>>> -
BlackJack
@Sirius3: Wie gesagt, ich sehe nicht dass die Frage impliziert dass die im gleichen Namensraum gelten müssen, was ja irgendwie auch sehr offensichtlich ist, dass das nicht geht.
Hier haben eine globale und eine lokale Variable den gleichen Namen.
Code: Alles auswählen
a = 42
def f():
a = 23- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Nun der Sinn fuer das Entfernen liegt darin, dass die Frage und die Antworten vom jeweligen Korrektor nicht so leicht gefunden werden ...
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
-
BlackJack
Hinterlässt aber „verbrannte Erde”. Ich weiss nicht ob ich unter diesen Umständen noch mal Lust habe auf die nächste Frage zu antworten.
Edit: mo--- hat das mit dem anderen Thema auch gemacht, und Benutzer Mauri6687 der die gleiche Frage wie in dem Thema hatte, also wahrscheinlich den selben Kurs belegt, hat ebenfalls seine Beiträge entfernt.
Edit: mo--- hat das mit dem anderen Thema auch gemacht, und Benutzer Mauri6687 der die gleiche Frage wie in dem Thema hatte, also wahrscheinlich den selben Kurs belegt, hat ebenfalls seine Beiträge entfernt.
So sollte man sich beim kleinsten Hausausgabenverdacht zur Gewohnheit machen, das OP komplett zu zitieren? Mag zweckdienlich sein, läuft aber doch dem Sinn eines Forums zuwider.
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Ich ändere ganz gerne mal eigene Beiträge. Allerdings habe ich mir dafür selbst Regeln auferlegt. Zum Beispiel streiche ich (wenn möglich) fehlerhafte Passagen durch (del, strike). Und gebe einen kurzen Kommentar zur Änderung, damit nachfolgende Beiträge ihren Sinn behalten.
Dies trifft hier jedoch nicht zu, da die Beiträge ja "verschwinden" sollten.
Alles in allem kommt dies m. E. nicht zu häufig vor, als dass man jetzt in der Forentechnik rumdoktern sollte.
Dies trifft hier jedoch nicht zu, da die Beiträge ja "verschwinden" sollten.
Alles in allem kommt dies m. E. nicht zu häufig vor, als dass man jetzt in der Forentechnik rumdoktern sollte.
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
-
BlackJack
@bwbg: Falls das „herumdoktorn an der Foren-Technik” einfache Standardeinstellungen sein sollte, kann man IMHO schon darüber nachdenken. Spammer nutzen das auch manchmal um zeit verzögert in zunächst harmlose Beiträge Spam-Links hinein zu editieren, in der Hoffnung dass es kein Mensch merkt, aber natürlich von Suchmaschinen registriert wird.
Guter Einwand. Wenn eine entsprechende Standardeinstellung existiert, votierte ich für eine entsprechende Änderung.
Auf den Komfort, meinen Beitrag später editieren zu können, kann ich auch verzichten. Notfalls gibt es ja noch die Moderatoren
Auf den Komfort, meinen Beitrag später editieren zu können, kann ich auch verzichten. Notfalls gibt es ja noch die Moderatoren
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Auch wenn ich gerne und oft vom Nacheditieren Gebrauch gemacht habe aber solch ein Verhalten vom Eröffner hat schon asoziale Züge. Schon alleine der jetzige Titel lässt erahnen wieviel Freude man haben wird bei der Auswertung von Suchergebnissen.
