aaaa

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mo---
User
Beiträge: 3
Registriert: Donnerstag 24. Oktober 2013, 16:31

aaa
Zuletzt geändert von mo--- am Montag 4. November 2013, 12:21, insgesamt 2-mal geändert.
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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. ;-)
Benutzeravatar
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.
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

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:

Code: Alles auswählen

main = 5
print main # keine Funktion :-(
Zu 5): wenn Wert ≡ Objekt, dann wird nur ein Objekt zurückgegeben.
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.
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

@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.

Code: Alles auswählen

a = 42

def f():
    a = 23
Hier haben eine globale und eine lokale Variable den gleichen Namen.
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

Muss das wirklich sein, wenn man schon die Fragen beantwortet bekommt, dann diese im Anschluss zu entfernen? Worin liegt jetzt der Sinn der Thread für Außenstehende?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
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 ...
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.
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

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!"
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

Schön wäre eine "Änderungen anzeigen"-Funktion wie bei einem Wiki.
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Das hatte ich auch im Sinn, habe meine Gedanken dann jedoch auf das technisch einfachste reduziert. ;)
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

Spricht was dagegen nachdem der erste geantwortet hat oder meinetwegen nach einer Stunde der Erstellung das Herauseditieren nicht mehr möglich ist. Hinzufügen ist was anderes.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

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.
"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.
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

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 ;)
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

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.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Antworten