Eben. Es kommt auf einen Umstand an, welcher sich einem nur sehr beschwerlich erschließt.
Meines Erachtens sollte davon ausgegangen werden, dass __iadd__ und Konsorten das Objekt verändern können, die korrespondierenden Methoden (__add__, etc.) ein neues Objekt zurückgeben.
Die Suche ergab 407 Treffer
- Samstag 18. November 2017, 15:05
- Forum: Allgemeine Fragen
- Thema: def beispiel() mit mehreren Variablen
- Antworten: 9
- Zugriffe: 1902
- Samstag 18. November 2017, 08:48
- Forum: Allgemeine Fragen
- Thema: def beispiel() mit mehreren Variablen
- Antworten: 9
- Zugriffe: 1902
Re: def beispiel() mit mehreren Variablen
So ganz knusper ist das Verwenden von __iadd__ und __isub__ auf a und b nicht. Irgendwann fliegt einem die Übergabe per Referenz hier um die Ohren.
- Mittwoch 15. November 2017, 22:39
- Forum: Allgemeine Fragen
- Thema: Flexible Funktionsparameter
- Antworten: 11
- Zugriffe: 1954
Re: Flexible Funktionsparameter
Offtopic: Eine völlig valide Hash-Funktion könnte wie folgt aussehen:
Code: Alles auswählen
def hash(value):
return 0
- Montag 13. November 2017, 18:43
- Forum: Codesnippets
- Thema: uuid und open
- Antworten: 0
- Zugriffe: 3352
uuid und open
Hier eine kleine Spielerei von mir. Vielleicht findes es jemand brauchbar: #!/usr/bin/env python3 import os import uuid from functools import partial class FileStorage: def __init__(self, path=None): assert os.path.isdir(path) self.path = os.path.abspath(path) def __iter__(self): for fst, fst_path i...
- Mittwoch 18. Oktober 2017, 19:47
- Forum: Allgemeine Fragen
- Thema: for schleife bei list in list
- Antworten: 16
- Zugriffe: 9396
Re: for schleife bei list in list
Da Python ein faible für Listen (Sequenzen im weitesten Sinne) hat, gibt es eine Reihe von Hilfmitteln zum Arbeiten mit eben diesen Listen: [codebox=pycon file=Unbenannt.txt]>>> import itertools >>> xss = [[2, 3, 4], [2, 44, 5, 6, 77], [9, 8, 7, 6, 55]] >>> for x in itertools.chain.from_iterable(xss...
- Sonntag 15. Oktober 2017, 08:42
- Forum: Allgemeine Fragen
- Thema: Kann man in Python eigene Anweisungen erstellen
- Antworten: 9
- Zugriffe: 2074
Re: Kann man in Python eigene Anweisungen erstellen
Es gibt einen binären Infix-Operator für Potenzen (**). Hierüber lassen sich auch Wurzeln darstellen.
Darüber hinaus sind Operatoren auch (nur) Funktionen. Warum sollte man eine neue Schreibweise für Funktionen einfügen wollen; von einer DSL mal abgesehen?
Darüber hinaus sind Operatoren auch (nur) Funktionen. Warum sollte man eine neue Schreibweise für Funktionen einfügen wollen; von einer DSL mal abgesehen?
- Donnerstag 5. Oktober 2017, 10:16
- Forum: Allgemeine Fragen
- Thema: PyCharm, Inspector, namedtuple -> unexpected argument
- Antworten: 3
- Zugriffe: 1157
Re: PyCharm, Inspector, namedtuple -> unexpected argument
Ich wollte eingangs nur ein Minimalbeispiel liefern, bei welchem der Hinweis von PyCharm auftritt. Nachfolgend ist ein Beispiel, bei welchem der Konstruktor überschrieben wurde, jedoch zuvor Berechnungen ausführt: class BoundingBox(namedtuple('BoundingBoxT', 'x y width height')): """A...
- Donnerstag 5. Oktober 2017, 07:03
- Forum: Allgemeine Fragen
- Thema: PyCharm, Inspector, namedtuple -> unexpected argument
- Antworten: 3
- Zugriffe: 1157
PyCharm, Inspector, namedtuple -> unexpected argument
Ich beschäftige mich gerade mit PyCharm (Community-Edition, 2017.1.3) und versuche den code-inspector der IDE gerade zufriedenzustellen. class Position(VectorMixin, namedtuple('PositionT', 'x y')): """A specialized two-dimensional vector to represent positions. """ def ...
- Mittwoch 4. Oktober 2017, 07:59
- Forum: Allgemeine Fragen
- Thema: Wendepunkt einer Kurve
- Antworten: 9
- Zugriffe: 4084
Re: Wendepunkt einer Kurve
Beschreibe bitte genau, wie der "Wendepunkt" einer Sequenz von Punkten und "Punkt" definiert sind. Das wäre dann bereits 90% der Lösung.
- Freitag 29. September 2017, 21:36
- Forum: Allgemeine Fragen
- Thema: Vokal-Laute entfernen
- Antworten: 12
- Zugriffe: 4031
Re: Vokal-Laute entfernen
Und ohne filter sowie die Vokale als Menge. Besser kann es nicht mehr werden
- Freitag 29. September 2017, 20:38
- Forum: Allgemeine Fragen
- Thema: Vokal-Laute entfernen
- Antworten: 12
- Zugriffe: 4031
Re: Vokal-Laute entfernen
Das ganze jetzt mal funktional als Einzeiler:
[codebox=pycon file=Unbenannt.txt]>>> ''.join(filter(lambda x: x not in 'aeiouAEIOU', 'Hello, World!'))
'Hll, Wrld!'
[/code]
[codebox=pycon file=Unbenannt.txt]>>> ''.join(filter(lambda x: x not in 'aeiouAEIOU', 'Hello, World!'))
'Hll, Wrld!'
[/code]
- Sonntag 24. September 2017, 09:16
- Forum: Allgemeine Fragen
- Thema: Wildcard-Problem unter Windows
- Antworten: 24
- Zugriffe: 4873
Re: Wildcard-Problem unter Windows
Ich habe den Projekt-Code auch nur überflogen. Ich schließe mich an, dass dieser komplizierter ist, als er sein müsste. So habe ich mich dem Kernproblem, dem Ersetzen von Text gewidmet und folgende Funktion (mit type-hints) zusammengeschraubt: def subst(pattern:str, replacement:Union[str, None]=None...
- Dienstag 19. September 2017, 16:19
- Forum: Allgemeine Fragen
- Thema: Liste/Tupel modifizieren
- Antworten: 5
- Zugriffe: 1002
Re: Liste/Tupel modifizieren
Fix könnte man das mittels list-comprehension zusammen mit tuple-unpacking lösen: [codebox=pycon file=Unbenannt.txt] >>> data = [(0.0, 0.0, 1000.0), (-0.5, -0.5, 950.0), (0.5, -0.5, 850.0)] >>> [(x * 100, y * 100, z) for x, y, z in data] [(0.0, 0.0, 1000.0), (-50.0, -50.0, 950.0), (50.0, -50.0, 850....
- Montag 3. Juli 2017, 18:47
- Forum: Allgemeine Fragen
- Thema: Parameterübergabe bei Methoden
- Antworten: 5
- Zugriffe: 1250
Re: Parameterübergabe bei Methoden
Ich reduziere Dein Beispiel provokant auf das m. E. notwendige :
Code: Alles auswählen
color = 'green'
- Montag 3. Juli 2017, 14:43
- Forum: Allgemeine Fragen
- Thema: Parameterübergabe bei Methoden
- Antworten: 5
- Zugriffe: 1250
Re: Parameterübergabe bei Methoden
Was spricht dagegen, direkt auf das Attribut 'color' zuzugreifen? Was Du da formuliert hast, sind triviale getter- und setter-Methoden.
- Montag 3. Juli 2017, 14:38
- Forum: Allgemeine Fragen
- Thema: Einfache Anfängerfrage
- Antworten: 12
- Zugriffe: 2075
Re: Einfache Anfängerfrage
Durch Anschauen alleine wirst Du das schwer nachvollziehen können. Probiere die einzelnen Bestandteile im Interpreter aus und kombiniere diese dann schrittweise.
- Montag 3. Juli 2017, 13:24
- Forum: Allgemeine Fragen
- Thema: Einfache Anfängerfrage
- Antworten: 12
- Zugriffe: 2075
Re: Einfache Anfängerfrage
Python bietet unglaublich praktische Funktionen, um "höhere" Programme zu schreiben. Hierbei kann man sehr beschreibend vorgehen, wie man es von der Mathematik gewöhnt ist. Man muss sich weniger an den Einzelheiten aufhalten, welche eine pure imperative Herangehensweise bedingt. Zunächst m...
- Donnerstag 15. Juni 2017, 19:58
- Forum: Allgemeine Fragen
- Thema: type-hint für Instanz gleichen Typs
- Antworten: 1
- Zugriffe: 736
type-hint für Instanz gleichen Typs
Gegeben sei eine beliebige Klasse, deren Methode eine neue Instanz des gleichen Typs zurückgeben soll. Die Methoden (bzw. deren Dokumentation) dieser Klassen sollen durch type-hints aufgewertet werden: class Foo: def bar(self) -> Foo: return type(self)() Ohne Frage ist der type-hint auf "Foo&qu...
- Freitag 9. Juni 2017, 16:44
- Forum: Allgemeine Fragen
- Thema: Vorbereitung auf meine Pythonklausur
- Antworten: 47
- Zugriffe: 6888
Re: Vorbereitung auf meine Pythonklausur
Im Grunde zählst Du die Anzahl der öffnenden und die Anzahl der schließenden Klammern. String-Objekte besitzen die Methode count für solche Fälle. Wenn die Differenz gleich 0 ist, so ist die Klammerung nach Deiner Definition richtig. Demnach wäre der Funktionskörper ein Einzeiler.
- Freitag 2. Juni 2017, 15:14
- Forum: Allgemeine Fragen
- Thema: Grundsätzliche Fragen zu doctests
- Antworten: 3
- Zugriffe: 1010
Re: Grundsätzliche Fragen zu doctests
Liefer doch mal eine zu testende Funktion, welche nicht mit einem "Einfachtest" getestet werden kann.