|
|
|
|
| Zitat von Danzelot
Seh ich das richtig dass da, wie auch sonst gewohnt, von primitiven Datentypen die Werte und von Objekten Zeiger auf die Objekte übergeben werden? Die Erklärung dazu ist irgendwie konfus.
| |
Nein. In Python ist alles ein Object (auch Funktionen, Klassen, etc.), es wird daher grundsätzlich by Reference übergeben.
Der Unterschied ist, dass Numerische Typen in Python immutable sind. Deine Zuweisung in "nochange" erzeugt also tatsächlich eine (Funktions lokale) Kopie.
Listen (eckige Klammern) hingegen sind mutable. Tuple (runde Klammern) nicht.
|
|
|
|
|
|
|
| Zitat von flying sheep
hä? mein code enthält nie derlei* unfug.
außerdem:
|
Code: |
In [0]: def change(x):
...: x=1
...:
...:
In [1]: y=0
In [2]: change(y)
In [3]: y
Out[3]: 0 |
|
*gs-premiere?
| |
Was? Das war ein Beispiel von Instant Python zu dem ich etwas Klarheit benötige.
|
|
|
|
|
|
|
| Zitat von Achsel-des-Bösen
| Zitat von Danzelot
Seh ich das richtig dass da, wie auch sonst gewohnt, von primitiven Datentypen die Werte und von Objekten Zeiger auf die Objekte übergeben werden? Die Erklärung dazu ist irgendwie konfus.
| |
Nein. In Python ist alles ein Object (auch Funktionen, Klassen, etc.), es wird daher grundsätzlich by Reference übergeben.
Der Unterschied ist, dass Numerische Typen in Python immutable sind. Deine Zuweisung in "nochange" erzeugt also tatsächlich eine (Funktions lokale) Kopie.
Listen (eckige Klammern) hingegen sind mutable. Tuple (runde Klammern) nicht.
| | Danke, das wollte ich wissen
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker für mich sind verschachtelte Klasse nur für einen Zweck gedacht, um auf private Member der äußeren Klasse zuzugreifen. | | für mich sind statische innere klassen dafür da, nur von der äußeren klasse instantiiert zu werden, und innere nichtstatische dafür, nur innerhalb der der äußeren zu leben.
im ersten fall halt eine klasse die einfach nur ein datencontainer oder ein enum, der nur für funktionen der äußeren gebraucht wird, im zweiten fall z.b. ein knoten in einem netzwerk. (network = new Network(); node = network.new Node() )
|
|
|
|
|
|
|
| Zitat von Danzelot Was? Das war ein Beispiel von Instant Python zu dem ich etwas Klarheit benötige. | | oh, hab das falsch gesehen.
im ersten fall wird eine referenz auf some_list einer funktion übergeben, welche dann some_list.__setitem__(1,4) aufruft ([] ist syntaktischer zucker dafür)
im zweiten fall wird eine referenz auf den wert, auf den y gesetzt wurde, übergeben (1), die dann mit einer referenz auf 0 überschrieben wird.
|
|
|
|
|
|
|
Da hab ich letzte Woche bei einer Vorlesungsumfrage gesehen, dass ein Prof. in einer Vorlesung die ich naechstes Semester habe (weiß aber grade nichtmehr welche ...) gerne python verwendet und die Kommentare waren: "BITTE KEIN PYTHON MEHR". Fand ich komisch, wollen die lieber wieder Ada programmieren?
|
|
|
|
|
|
|
| Zitat von Renga
Da hab ich letzte Woche bei einer Vorlesungsumfrage gesehen, dass ein Prof. in einer Vorlesung die ich naechstes Semester habe (weiß aber grade nichtmehr welche ...) gerne python verwendet und die Kommentare waren: "BITTE KEIN PYTHON MEHR". Fand ich komisch, wollen die lieber wieder Ada programmieren?
| | ich nehme peaces erstdefinitionsrecht in anspruch: die einzigen, die python nicht mögen, sind leute, die beim lisp-coden ein zu enges verhältnis zu klammern entwickelt haben.
|
|
|
|
|
|
|
wer von euch hat noch google+ einladungen zu vergeben?
|
|
|
|
|
|
|
Wie hoch ist denn das Limit?
|
|
|
|
|
|
|
| Zitat von Renga
wer von euch hat noch google+ einladungen zu vergeben?
| |
Aktuell "lädt" Google wohl nicht mehr wirklich neue Leute ein, zumindest deutet die aktuelle Meldung:
– Wichtige Informationen zur Testphase –
Sie sind Teil einer kleinen Gruppe von Personen, die dabei helfen, Google+ zu testen. Wenn Sie etwas mit Personen teilen, die Google+ noch nicht nutzen können, erhalten diese zwar eine E-Mail dazu, können jedoch nicht wie andere Google+ Nutzer Kommentare posten oder mit den Inhalten interagieren. Nach und nach werden immer mehr Nutzer einen Zugang erhalten. Dann können Ihre Kontakte Google+ ebenfalls nutzen.
darauf hin.
|
|
|
|
|
|
|
Das ich mal wieder zu spaet bin, war irgendwie klar.
|
|
|
|
|
|
|
Schick mir deine Mailadresse per PM, heute morgen ging es jedenfalls noch.
|
|
|
|
|
|
|
Seit Veröffentlichung (2000) schau ich grad das erste mal Cast Away.
Immer noch super Film!
|
|
|
|
|
|
|
Statement vor dem Schlafengehen: Toll, wie einfach Python ist Man kann ein Flussdiagramm mit einer Zeile pro Kästchen umsetzen.
Ich definiere: Python ist maschinenlesbarer Pseudocode.
|
|
|
|
|
|
|
| Zitat von Danzelot
Statement vor dem Schlafengehen: Toll, wie einfach Python ist Man kann ein Flussdiagramm mit einer Zeile pro Kästchen umsetzen.
Ich definiere: Python ist maschinenlesbarer Pseudocode.
| | *g*
wenn du weiter bist und dann langsam zu den wirklich schönen semantiken kommst (for ... else , with ), dann ist es immer noch so einfach (zu lesen und schreiben), aber noch weniger code.
|
|
|
|
|
|
|
Ja, dass man an Schleifen ein else dranhängen kann war auch so ein Aha-Moment für mich
|
|
|
|
|
|
|
| Zitat von Danzelot
Ja, dass man an Schleifen ein else dranhängen kann war auch so ein Aha-Moment für mich
| | das weißt du schon? wie kriegt man sowas raus, wenn man sich noch nicht lang mit der sprache beschäftigt?
|
|
|
|
|
|
|
Aber es kann kein [m]break 2[/b], oder? Eine der wenigen Sachen, die ich bei PHP echt cool finde.
|
|
|
|
|
|
|
| Zitat von [Dicope]
Aber es kann kein break 2 , oder? Eine der wenigen Sachen, die ich bei PHP echt cool finde.
| |
Kann man damit verschachtelte Schleifen beenden?
Und was macht else in Python?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [DK]Peacemaker am 07.07.2011 8:30]
|
|
|
|
|
|
So eine Zensurbalken-Brille ist schon ganz vorteilhaft
Ich trinke nie wieder
e\ Meine Fresse, aber ich muss gestehen, mir gehen diese Pils-Abende langsam aufn Sack. Gestern kamen noch welche vonner Insel. Einer eben mit so einem 5-Liter-Kanister voll mit Cola und Captain Morgan
Warum nicht einfach mal was sinnvolles ohne Suff machen?
|
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von TriggerTG am 07.07.2011 14:19]
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
Und was macht else in Python?
| |
|
Code: |
for ...:
...
else:
...
|
|
Der else block wird betreten, wenn die Schleife beendet wird, weil ihm entweder die zu iterierenden Elemente ausgegangen sind, aber nicht, wenn ein break verwendet wird.
Kann man z.B. für Suchschleifen nutzen die über eine Menge laufen und im Falle eines Fundes die Suche mit break abbrechen und im Falle eine nicht-Fundes kann man das in else handeln.
|
|
|
|
|
|
|
| Zitat von Achsel-des-Bösen
| Zitat von [DK]Peacemaker
Und was macht else in Python?
| |
|
Code: |
for ...:
...
else:
...
|
|
Der else block wird betreten, wenn die Schleife beendet wird, weil ihm entweder die zu iterierenden Elemente ausgegangen sind, aber nicht, wenn ein break verwendet wird.
Kann man z.B. für Suchschleifen nutzen die über eine Menge laufen und im Falle eines Fundes die Suche mit break abbrechen und im Falle eine nicht-Fundes kann man das in else handeln.
| |
Sieht eigentlich ganz praktisch aus, ich bevorzuge allerdings (obwohl Garland das nicht mag):
|
Code: |
public bool Find(IEnumerable<string> list, string pattern) {
foreach (string item in list) {
if (pattern.Equals(item, StringComparison.OrdinalIgnoreCase)) {
return true;
}
}
return false;
}
|
|
Aber bei Spracherweiterungen, die die Intention besser ausdrücken, macht man nie was falsch.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [DK]Peacemaker am 07.07.2011 9:55]
|
|
|
|
|
|
Jo, ich bin auch ein Verfechter des "mutltiple returns per function". Ich finde es manchmal einfach zu praktisch um es einfach zu verbieten.
|
|
|
|
|
|
|
| Zitat von flying sheep
| Zitat von Danzelot
Ja, dass man an Schleifen ein else dranhängen kann war auch so ein Aha-Moment für mich
| | das weißt du schon? wie kriegt man sowas raus, wenn man sich noch nicht lang mit der sprache beschäftigt?
| | War auf der Probeklausur. Ich habe ja Python nicht zum Spaß gelernt, sondern um das zwei Mädels beizubringen die am Montag Informatik schreiben
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
| Zitat von [Dicope]
Aber es kann kein break 2 , oder? Eine der wenigen Sachen, die ich bei PHP echt cool finde.
| |
Kann man damit verschachtelte Schleifen beenden?
| |
Ja. <3
Ich hab noch keine andere Sprache gesehen, die das kann.
|
|
|
|
|
|
|
| Zitat von Achsel-des-Bösen
Jo, ich bin auch ein Verfechter des "mutltiple returns per function". Ich finde es manchmal einfach zu praktisch um es einfach zu verbieten.
| |
Ich finde nichtmal, dass der Verzicht darauf besseren Code bringt. In den meisten Fällen wird dann ja dann doch nach Ermittlung des Returnwerts nur akkumuliert, alle weiteren Ausführungszweige mit weiteren ifs umwandert, um am Ende das gleiche zu returnen.
|
|
|
|
|
|
|
| Zitat von [Dicope]
| Zitat von [DK]Peacemaker
| Zitat von [Dicope]
Aber es kann kein break 2 , oder? Eine der wenigen Sachen, die ich bei PHP echt cool finde.
| |
Kann man damit verschachtelte Schleifen beenden?
| |
Ja. <3
Ich hab noch keine andere Sprache gesehen, die das kann.
| |
|
Code: |
aussen:
while (true) {
for (int i = 0; i < 10; i++) {
if (i > 3) {
break aussen;
}
}
} |
|
|
|
|
|
|
|
|
Finally...jetzt kann ich doch wieder last.fm Streams rippen.
Eine gepatchte Version von lastfmproxy holt den last.fm Stream und bietet ihn als Shoutcast-Kombatible Version wieder an. Diesen Stream holt sich dann Streamripper und packt die MP3z auf die Platte.
|
|
|
|
|
|
|
Soo, erster Teil des Tags geschafft - meine erste Besprechung für die DA und Mensa.
Nun Wohnung putzen, dann Klamotten für's Wochenende kaufen und dann bei ner schönen Fahrradtour die Gifte des Vortags ausschwitzen
|
|
|
|
|
|
|
Ich zock wieder zu viel Fallout, aber durch die Kronkorken auf dem Tisch musste ich sofort daran denken
(Die liegen dort teilweise als aufsammelbare Währung auf den Tischen )
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |