Seite 11 von 271 ErsteErste ... 7891011121314152161111 ... LetzteLetzte
Ergebnis 151 bis 165 von 4063

Thema: Der Pythonthread

  1. #151
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von Gigaz Beitrag anzeigen
    Hört sich interessant an, obwohl ich es mir im Moment schwer vorstellen kann. Vor allem weiß ich nicht so genau, was als Eigenschaft zählt.
    Aber ich kann mir vorstellen, was ein echter Programmierer dazu sagen würde:
    EEEEVIIIILL
    Vererbung ist ein wichtiger Bestandteil von Python. Ohne Vererbung gäbe es keine NewStyleClasses geben. Denn die meisten Python-Objekte sind Erben vom Objekt object. Diese geben wichtige Methoden weiter.

  2. #152
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von Gigaz Beitrag anzeigen
    Hört sich interessant an, obwohl ich es mir im Moment schwer vorstellen kann. Vor allem weiß ich nicht so genau, was als Eigenschaft zählt.
    Aber ich kann mir vorstellen, was ein echter Programmierer dazu sagen würde:
    EEEEVIIIILL
    Der würd eher ne Mischung aus und sagen.
    Nicht bös' gemeint .

    Das Simpel-Beispiel aus meinem C++-Buch.
    Ich hab' eine Klasse "Rechteck", die hat 2 Variablen, nämlich die Seitenlängen A+B.
    Jetzt erstelle ich eine Klasse "Quadrat", die erbt alle Eigenschaften der Klasse "Rechteck" (hat also automatisch 2 Seiten, A und B), bekommt aber als Bedingung mit, dass A=B gesetzt wird.

    "Eigenschaften" ist auch schlecht gewählt, alle Variablen und Funktionen trifft's eher.
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  3. #153
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Irgendwie schein ich zu blöd dazu zu sein...wie leg' ich denn nen Array an?
    Hab's einfach versucht mit myarray[0] = gc.get... aber da nörgelt es rum, der globale Name myarray wär' nicht definiert.
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  4. #154
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    Irgendwie schein ich zu blöd dazu zu sein...wie leg' ich denn nen Array an?
    Hab's einfach versucht mit myarray[0] = gc.get... aber da nörgelt es rum, der globale Name myarray wär' nicht definiert.
    Direkt Arrays gibt es nicht ohne weiteres in Python. Aber Listen und Dictionaries.
    Also:

    Liste

    myarray = []
    myarray[0] = gc.get...

    Dictionary

    myarray = {}
    myarray[0] = gc.get...


  5. #155
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von koma13 Beitrag anzeigen
    Direkt Arrays gibt es nicht ohne weiteres in Python. Aber Listen und Dictionaries.
    Also:
    Bäh, ich hasse Python.

    Zitat Zitat von koma13 Beitrag anzeigen
    Liste

    myarray = []
    myarray[0] = gc.get...
    sieht für mich nach nem Array aus, sind schließlich keine Pointer drin.
    Aber egal, das wird wohl gehen , danke .
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  6. #156
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    sieht für mich nach nem Array aus, sind schließlich keine Pointer drin.
    Aber egal, das wird wohl gehen , danke .
    Ist im Prinzip auch das selbe.
    So wie ich das verstanden habe besteht der Unterschied zwischen Listen und dictionaries darin, daß man bei Listen den Index/key nicht umbenennen kann.

  7. #157
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von koma13 Beitrag anzeigen
    Liste

    myarray = []
    myarray[0] = gc.get...
    Das geht so nicht. Listen kann man mit append oder extend erweitern:
    liste = []
    liste.append(value)

    oder
    liste.extend(iterable)

    Zitat Zitat von koma13 Beitrag anzeigen
    Ist im Prinzip auch das selbe.
    So wie ich das verstanden habe besteht der Unterschied zwischen Listen und dictionaries darin, daß man bei Listen den Index/key nicht umbenennen kann.
    Wieso soll man auch bei Listen den Index umbenennen? Deswegen gibt es Dictionaries. Schlüssel bei Dict. können alle unveränderlichen Objekte und eigene Objekte sein.
    Ein weiterer Unterschied ist, das Listen die Reihenfolge der Inhalte erhalten, Dictionaries sind dagegen unsortiert.

    Zitat Zitat von The_J Beitrag anzeigen
    Bäh, ich hasse Python.



    sieht für mich nach nem Array aus, sind schließlich keine Pointer drin.
    Aber egal, das wird wohl gehen , danke .
    In Python gibt es nur Pointer. Variablen enthalten nicht die Objekte, sondern die Referenzen auf diese Objekte.

  8. #158
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    ^ ^
    Da hast du's nochmal von einem Informatiker erklärt bekommen.

    myarray[0] = gc.get...

    Das geht also nur, wenn man man einen Eintrag überschreiben will.
    Wozu braucht man überhaupt Listen, wenn das auch alles und besser mit den Dictionaries geht?

  9. #159
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von koma13 Beitrag anzeigen
    ^ ^
    Da hast du's nochmal von einem Informatiker erklärt bekommen.

    myarray[0] = gc.get...

    Das geht also nur, wenn man man einen Eintrag überschreiben will.
    Wozu braucht man überhaupt Listen, wenn das auch alles und besser mit den Dictionaries geht?
    Listen erhalten die Reihenfolge ihrer Einträge, Dictionaries nicht; diese enthalten unsortierte Schlüssel/Wert-Paare.

  10. #160
    .
    Registriert seit
    28.09.06
    Beiträge
    16.132
    Diese Seite erklärt es ganz ordentlich.

    "Die Effizienz der assoziativen Listen (=dictionaries) ist extrem gut. Der Aufwand beträgt O(n) = 1, d.h. er ist konstant. Egal wie viele ein Pythonwörterbuch enthält, ob 1, 10, 100 oder 1.000.000 Einträge, die Suche ist immer gleich schnell. Sie ist so schnell, dass Python selbst für seine interne Verwaltung, z.B. die Namespaces, exzessiven Gebrauch macht. Diese Geschwindigkeit hat allerdings ihren Preis. Während als Wert (value) eines dicts alle Python Typen erlaubt sind, sind die zulässigen Typen für die Schlüssel (key) beschränkt. Schlüssel müssen hashable sein. Hashbare Objekte verfügen über einen eindeutigen Hashwert, der sich während ihrer gesamten Lebensdauer nicht ändert. Dieser Wert lässt sich mit der eingebauten Funktion id() abfragen. Die veränderbaren Objektetypen, wie lists, dicts und Objekte, die über ihren Wert und nicht über ihre Objektidentität verglichen werden, sind nicht hashable und damit als Schlüsselwert ungeeignet."

  11. #161
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von alpha civ Beitrag anzeigen
    Das geht so nicht. Listen kann man mit append oder extend erweitern:
    liste = []
    liste.append(value)

    oder
    liste.extend(iterable)
    Merci .

    Zitat Zitat von alpha civ Beitrag anzeigen
    In Python gibt es nur Pointer. Variablen enthalten nicht die Objekte, sondern die Referenzen auf diese Objekte.
    ....
    Mit Pointern kann ich nicht gescheit umgehen , wie gut, dass die Dinger ja teils wie Arrays handhabbar sind.

    Zitat Zitat von ante Beitrag anzeigen
    Diese Seite erklärt es ganz ordentlich.
    wo nehme ich mal Zeit zum lesen her?
    Aber danke, werd' ich irgendwann mal reinschauen.




    Noch so ne simple Dödel-Frage:
    Wie lasse ich den ne For-Schleife abwärts laufen?
    PHP-Code:
    i=10
    for i in range (0down
    oder so?

    Bevor's einer vorschlägt: Ja, ich hab' die Werte einfach andersrum in die Liste einsortieren lassen, ich will's aber trotzdem wissen.
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  12. #162
    .
    Registriert seit
    28.09.06
    Beiträge
    16.132
    for i in range(10,0,-1): print i

    ----------
    range liefert eine liste zurück. du definierst i, um es gleich anschließend mit dem ersten listenelement (in deinem fall eine leere liste wg. range(0)) zu überschreiben ....

    kleiner tipp am rande: bei schleifen aus effizienz-gründen xrange nehmen :-); also
    Code:
    for i in xrange(10,0,-1): 
       print i
    ist dann die Lösung auf deine Frage

  13. #163
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von The_J Beitrag anzeigen
    Noch so ne simple Dödel-Frage:
    Wie lasse ich den ne For-Schleife abwärts laufen?
    PHP-Code:
    i=10
    for i in range (0down
    oder so?
    PHP-Code:
    for elem in reversed(liste):
        print 
    elem 

  14. #164
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von ante Beitrag anzeigen
    for i in range(10,0,-1): print i
    Wenn schon Standard-Funktionen überladen werden, ist's natürlich richtig lustig .

    Danke .

    Zitat Zitat von ante Beitrag anzeigen
    kleiner tipp am rande: bei schleifen aus effizienz-gründen xrange nehmen :-);
    Was'n an xrange effektiver?

    Zitat Zitat von alpha civ Beitrag anzeigen
    PHP-Code:
    for elem in reversed(liste):
        print 
    elem 
    Ah, ebenfalls danke .
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  15. #165
    .
    Registriert seit
    28.09.06
    Beiträge
    16.132
    Was sollte bei range "überladen" werden?
    ------------------
    xrange: Weniger speicherverbrauch und schneller. ne kurzfassung am prompt liefert dir: help(xrange)

Seite 11 von 271 ErsteErste ... 7891011121314152161111 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •