Forum: PC-Programmierung Drei """ im Quellcode


von Bella Donna (Gast)


Lesenswert?

Hi,

in einem Pythonquellcode habe ich folgendes gesehen:
1
self._command_str = """SELECT `Name`, `Adresse` FROM `Adressdatenbank` WHERE (`Name`={} AND `Postleitzahl` = {})"""

Es stehen drei Gänsefüßchen hintereinander und ich weis nicht, warum. 
Mache ich nur zwei Gänsefüßchen, dann kommt eine Fehlermeldung.

von Fachinformatiker (Gast)


Lesenswert?


von Christian M. (Gast)


Lesenswert?


von hum (Gast)


Lesenswert?


von Mal ganz vorne anfangen (Gast)


Lesenswert?


von Peter II (Gast)


Lesenswert?

wobei man sich fragen muss, warum überhaupt das ganze Quoting. Ich kenne 
zwar Python nicht, aber jeden DB die ich kenne braucht kein Quoting der 
Bezeichner.
1
self._command_str = "SELECT Name, Adresse FROM Adressdatenbank WHERE (Name={} AND Postleitzahl = {})";

würde es vermutlich auch tun.

(wenn nicht, wird mich schon jemand korrigieren)

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> aber jeden DB die ich kenne braucht kein Quoting der
> Bezeichner.

Was bedeutet Quoting der Bezeichner?

von Peter II (Gast)


Lesenswert?

Bella Donna schrieb:
> Was bedeutet Quoting der Bezeichner?

`Name`  vs.  Name

die ` (oder auch mal [] ) braucht man wenn man z.b. Leerzeichen oder 
reservierte Wörter verwenden will.

von ASM Superprofi (Gast)


Lesenswert?

Ein weiterer Beweis, der zeigt, dass Python einfach nur der letzte Dreck 
ist. Gute Programmierer nutzen Perl.

"""""""ODER?"""""""""

Ah Mist, Syntax error. Verzählt.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> `Name`  vs.  Name

Ach so. Also, wenn ich in phpMyAdmin schreibe

SELECT * FROM Name,

dann weis ich nicht, ob das klappt. Klicke ich die angebotenen Felder da 
an, dann werden die alle in 'XYZ' gesetzt und mache ich das so immer

SELECT * FROM 'Name',

dann kommt keine Fehlermeldung, also falsch kann es mit dem Gänsefuß 
nicht sein.

von Peter II (Gast)


Lesenswert?

Bella Donna schrieb:
> Ach so. Also, wenn ich in phpMyAdmin schreibe
>
> SELECT * FROM Name,
>
> dann weis ich nicht, ob das klappt.

wird klappen.

>  Klicke ich die angebotenen Felder da
> an, dann werden die alle in 'XYZ' gesetzt und mache ich das so immer
> SELECT * FROM 'Name',
>
> dann kommt keine Fehlermeldung, also falsch kann es mit dem Gänsefuß
> nicht sein.

ist ja auch nicht falsch, nur im Quelltext nicht schön zu lesen.

(ich würde nie auf die Idee kommen, mir SQL zusammen zu klicken)

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Die drei ''' oder """ sind für die automatische Dokumentation mit 
Doxygen gedacht
http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html#pythonblocks
"Doxygen will extract such comments and assume they have to be 
represented in a preformatted way."

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> (ich würde nie auf die Idee kommen, mir SQL zusammen zu klicken)

warum nicht? Dann ist man schneller und braucht nicht alles mit der 
Tastatur zu schreiben.

von Peter II (Gast)


Lesenswert?

Bella Donna schrieb:
> warum nicht? Dann ist man schneller und braucht nicht alles mit der
> Tastatur zu schreiben.

schneller? Der Vorteil der Tastatur ist das man schneller ist, oder 
verwendest du ein Touchscreen mit Bildschirmtastatur?

Außerdem macht das SQL auch wenig sinn, warum sollte man Name abfragen, 
wenn man es vorher im where schon festlegt.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> oder
> verwendest du ein Touchscreen mit Bildschirmtastatur?

nein, dass nicht. Aber ich habe dann doch schon die Maus in der Hand und 
brauche dann nicht extra zur Tastatur zu wechseln - das spart enorm viel 
Zeit.

Du arbeitest wahrscheinlich eher kommandozeilenbasiert in einer 
Text-Shell - oder? Da ist ja keine Maus vorhanden.

von Peter II (Gast)


Lesenswert?

Bella Donna schrieb:
> nein, dass nicht. Aber ich habe dann doch schon die Maus in der Hand und
> brauche dann nicht extra zur Tastatur zu wechseln - das spart enorm viel
> Zeit.

die schreibt Quellcode mit der Maus?

Du schein ja in Python zu programmieren und beim Programmieren habe ich 
selten die Finger an der Maus.

> Du arbeitest wahrscheinlich eher kommandozeilenbasiert in einer
> Text-Shell - oder? Da ist ja keine Maus vorhanden.
nein


Aber meine SQL-Abfrage sind so komplett, das ich sie niemals sinnvoll 
mit der Maus zusammenbauen kann.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
>> Du arbeitest wahrscheinlich eher kommandozeilenbasiert in einer
>> Text-Shell - oder? Da ist ja keine Maus vorhanden.
> nein

Man kann aber kommandozeilenbasiert in MySQL arbeiten und da ist dann 
keine Maus vorhanden. Ich habe ein Frontend phpMyAdmin, das ist eine Art 
Webseite, mit der man sich einloggen und damit die Datenbank komfortabel 
bedienen kann. Dann muss ich mit der Maus auf der Bedienwebseite hin- 
und herklicken und nutze sie da intensiv. Dann gibt es die Möglichkeit, 
dort Suchabfragen zu definieren und dann werden dort alle Spalten 
angeboten, die verfügbar sind. Klicke ich diese Spalte an, dann 
erscheint sie an der Stelle, wo vorher der Cursor war, aber die 
Spaltennamen sind dann in den ''-Teilen eingeschlossen. Ich definiere 
mir dort meine Abfrage, gucke, ob sie funktioniert, mache copy von dem 
SQL-Befehl in phpMyAdmin und kopiere den Befehl dann in das 
Pythonprogramm und schon läuft der Hase.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> Aber meine SQL-Abfrage sind so komplett, das ich sie niemals sinnvoll
> mit der Maus zusammenbauen kann.

Hast Du schon mal mit phpMyAdmin gearbeitet? Das ist echt hammergeil. Da 
passiert es auch nicht, dass man einen Abtippfehler macht, wenn man die 
Vorauswahl von den Spaltennamen nimmt. Wenn es Dir nicht gefällt, dann 
kannst Du die Hochkommas ja weglöschen später, aber den SQL-Befehl würde 
ich mir immer zuerst dort vorher zusammenklicken und ausprobieren. Das 
macht echt Sinn - zumindest für mich.

von Peter II (Gast)


Lesenswert?

Bella Donna schrieb:
> Hast Du schon mal mit phpMyAdmin gearbeitet?
ja - nette Spielerei

>  Das ist echt hammergeil.
naja

> macht echt Sinn - zumindest für mich.
dann ist ja alles gut.


Wenn du 7 Stunden am Tag SQL schreibt, dann wirst du eventuell auch 
anders denken.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> Wenn du 7 Stunden am Tag SQL schreibt, dann wirst du eventuell auch
> anders denken.

Da ich es aber nicht 7 Stunden am Tag nutze, sondern alle paar Wochen 
mal für ein paar Minuten, denke ich halt so, wie ich es beschrieben 
habe, ich hoffe, Du kannst das akzeptieren, dass ich meine Weise so 
vorziehe. Wenn man 7 Stunden damit arbeitet, dann passieren einem 
bestimmt gewisse Fehler auch nicht, die man macht, wenn man nicht 7 
Stunden jeden Tag damit arbeitet. Mir passiert es halt manchmal dann, 
dass ich die Namen nicht richtig schreibe und dann der 
Python-Interpreter rummeckert und so kann ich das vorher richtig 
zusammenklicken und es funktioniert. Meine Tabellenabfragen sind auch 
nur immer sehr kurz, ich halte auch Abstand von Joins und so, mir reicht 
das, was ich mit Select und Co machen kann, ganz gut praktisch aus und 
ich finde es toll so, wie es klappt und freue mich, wenn ich die Daten 
aus der Datenbank ausgespukt bekomme und damit meine Anzeige füllen 
kann.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
>> Hast Du schon mal mit phpMyAdmin gearbeitet?
> ja - nette Spielerei

Warum ist das für Dich eine Spielerei?

von Peter II (Gast)


Lesenswert?

Bella Donna schrieb:
> Peter II schrieb:
>>> Hast Du schon mal mit phpMyAdmin gearbeitet?
>> ja - nette Spielerei
>
> Warum ist das für Dich eine Spielerei?

weil ich damit langsamer bin, also wenn ich meine Abfragen von Hand 
eintippe.

Wenn es für dich hilfreich ist, dann ist ja alles ok.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> weil ich damit langsamer bin, also wenn ich meine Abfragen von Hand
> eintippe.
>
> Wenn es für dich hilfreich ist, dann ist ja alles ok.

Dann bin ich beruhigt, wenn es für Dich ok ist - vielen Dank für Dein 
Verständnis.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> Wenn du 7 Stunden am Tag SQL schreibt, dann wirst du eventuell auch
> anders denken.

Warum schreibst Du eigentlich jeden Tag 7 Stunden SQL? Müsste so ein 
Programm denn nicht irgendwann fertig sein und laufen? Oder kommen jeden 
Tag vom Chef Änderungswünsche, die Du dann umsetzen und wieder anpassen 
musst?

von Peter II (Gast)


Lesenswert?

Bella Donna schrieb:
> Warum schreibst Du eigentlich jeden Tag 7 Stunden SQL? Müsste so ein
> Programm denn nicht irgendwann fertig sein und laufen? Oder kommen jeden
> Tag vom Chef Änderungswünsche, die Du dann umsetzen und wieder anpassen
> musst?

weil das meine Arbeit ist - es sind individuelle Auswertungen/abfragen. 
Es nicht für alles ein Programm.

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> weil das meine Arbeit ist - es sind individuelle Auswertungen/abfragen.
> Es nicht für alles ein Programm.

Was muss man sich darunter vorstellen? Große Adressdatenbanken, wo Du 
Adressen für Serienbriefe herauskriegen musst und alle Empfänger z.B. 
zw. 20-30 Jahre alt sind?

von Peter II (Gast)


Lesenswert?

Bella Donna schrieb:
> Was muss man sich darunter vorstellen? Große Adressdatenbanken, wo Du
> Adressen für Serienbriefe herauskriegen musst und alle Empfänger z.B.
> zw. 20-30 Jahre alt sind?

4.000 Tabellen, 10TB Gesamtgröße.

Da kann man Tagelang Daten abfragen...

von Bernd K. (prof7bit)


Lesenswert?

Bella Donna schrieb:
> nein, dass nicht. Aber ich habe dann doch schon die Maus in der Hand

Warum?

von Bella Donna (Gast)


Lesenswert?

Peter II schrieb:
> 4.000 Tabellen, 10TB Gesamtgröße.
>
> Da kann man Tagelang Daten abfragen..

10 TB Daten sind ja schon eine Menge. Was steht denn da alles in den 
Tabellen drinnen?

von Bella Donna (Gast)


Lesenswert?

Bernd K. schrieb:
> Warum?

Weil ich ja das Feld anklicken muss, wo der Cursor sein soll.

von Bernd K. (prof7bit)


Lesenswert?

Bella Donna schrieb:
> Bernd K. schrieb:
>> Warum?
>
> Weil ich ja das Feld anklicken muss, wo der Cursor sein soll.

Bei mir ist dieses Feld ungefähr 25cm breit und 40cm hoch, und wenn der 
Cursor erst mal drin ist ist er drin.

von c-hater (Gast)


Lesenswert?

Bella Donna schrieb:

> nein, dass nicht. Aber ich habe dann doch schon die Maus in der Hand

Das ist dein Grundfehler. Eine Maus braucht man bei allem, was mit 
"Programmierung" zu tun hat, eher selten wirklich.

Da nämlich der Hauptjob bei der Programmierung halt die Eingabe von 
Quelltext ist, hat man die Finger primär immer an der Tastatur. Und 
lernt sehr schnell, wie fast alles von dem, was unwissende Klickibuntis 
unbedingt mit der Maus erledigen zu müssen glauben, sehr viel schneller 
auch mit der Tastatur zu erledigen ist...

Nur diesen unsäglich peinlichen C&P-"Programmierern" kommt auch nur die 
Idee, dass es irgendwie anders sein könnte...

von Bella Donna (Gast)


Lesenswert?

Bernd K. schrieb:
> Bei mir ist dieses Feld ungefähr 25cm breit und 40cm hoch, und wenn der
> Cursor erst mal drin ist ist er drin.

Also, das Eingabefeld für SQL-Kommandos in phpMyAdmin ist keine 
25cm*40cm groß, sondern ca. 5*8 cm^2 (grob geschätzt) und ich schätze es 
eben, wenn die Namen dort bereits in einer Liste vorhanden sind, ich mit 
der Maus an die Cursorposition klicke und dann mit der Maus in die 
Auswahlliste, wo die Tabellennamen stehen.

Ich kann Dir nur den Tipp geben, es einfach mal auszuprobieren. Das ist 
echt eine ziemliche Erleichterung und man vermeidet Tipp-Fehler. Du 
wirst sicherlich auch ziemlich schnell zugeben müssen, dass meine 
Variante eine gute Lösung ist.

c-hater schrieb:
> Da nämlich der Hauptjob bei der Programmierung halt die Eingabe von
> Quelltext ist

Da gebe ich Dir recht. Ich sprach aber davon, dass ich mir den 
SQL-Befehl in phpMyAdmin vorher zurechtmache, ihn austeste und wenn er 
dann funktioniert, mit copy und pase in den Programmquellcode einfüge.

So wie ich Dich verstehe, verwendest Du gar keine Maus und ich schließe 
daraus, wenn Du mehrere Fenster hast, dass Du mit der Tabulatortaste 
zwischen den Fenstern hin- und herwechselst, anstatt eine Maus zu 
benutzen. Das kenne ich noch von der Steinzeit, als ich ohne Maus mit 
Geos und meinem C64 Ende der 80er gearbeitet habe. Aber gut, manche 
Menschen halten halt an Traditionen fest und haben Angst oder Scheu, 
auch mal technische Neuerungen auszutesten, ich akzeptiere Deine 
Einstellung.

von Bella Donna (Gast)


Lesenswert?

ASM Superprofi schrieb:
> Gute Programmierer nutzen Perl.

Es gibt sogar ganze Firmen, die mit Python programmieren. In der 
Wissenschaft ist Python auch sehr beliegt, es dauert oft halt viele 
Jahre, bis Neuerungen auch bei anderen Menschen angekommen sind. Python 
bietet eine Vielzahl an Bibliotheken, z.B. die Matplot- oder die 
Numpy-Bibliothek, die es durchaus mit Matlab und Mathematica aufnehmen 
können und frei sind. Solche mächtigen Bibliotheken findest Du unter 
Perl nicht. Es gibt auch die freie Bibliothek tkinter.

Viele Messgerätehersteller bieten inzwischen auch 
Schnittstellenbibliotheken für Python an, Ruby oder Pearl vermisst man 
da oft.

Ich denke, die unterschiedlichen Sprachen haben durchaus ihre 
Daseinsberechtigung und es wäre ratsam, nicht gleich alles zu verteufeln 
und alle Leute, die mit Python programmieren, an den Pranger zu stellen.

Wie gesagt, auch große Firmen im Automobilbereich nutzen inzwischen 
Python zum Ansteuern von Motorsteuergeräten neben Simulink (von Matlab). 
Und versucht mal, ohne eine Maus in Simulink zu programmieren. Das geht 
garnicht.

von Bella Donna (Gast)


Lesenswert?

Bella Donna schrieb:
> ASM Superprofi schrieb:
>> Gute Programmierer nutzen Perl.

Nachtrag:

Gute Programmierer nutzen Perl
bessere Python
die besten C/Assembler

von Bella Donna (Gast)


Lesenswert?

Jetzt seid ihr sicherlich alle baff und sprachlos. Ein schönes 
Wochenende Euch allen.

von programmatore magistrale (Gast)


Lesenswert?

> Da nämlich der Hauptjob bei der Programmierung halt die Eingabe von
> Quelltext ist, hat man die Finger primär immer an der Tastatur.

Das ist die Haupttätigkeit der Code grinders .

Der Hauptjob bei der Programmierung ist gut UND richtig zu denken, dann 
haben die Code grinders weniger zu tippen.

Maus mit GUIs sind ok fürs explorative rantasten an eine Neue SW. Für's 
präzise, produktive Umsetzen von dem was man im Kopf hat ist die 
Tastatur + ca.<10% "mausen" viel effizienter.

@TO: einen Guten[tm], Kontext-sensitiven Editor unterstützt einem beim 
fehlerfreien Tippen von Bezeichnern (autom. tab completion) - mein 
Beileid wenn für deine Tätigkeiten nur suboptimale Werkzeuge 
vorliegen...

@Bella Donna: reiche bitte mein Beileid an die Tester weiter, welche den 
sooo vielen von dir getippten (5d x 7h pro Wo) Code zu überprüfen haben. 
Mehr Code enthält IMMER mehr Fehler als weniger Code. SW-Qualität erhöht 
sich dann, wenn mehr Funktionalität bei schrumpftender Codemenge 
rauskommt!

von Dirk D. (dicky_d)


Lesenswert?

Bella Donna schrieb:
> Also, das Eingabefeld für SQL-Kommandos in phpMyAdmin ist keine
> 25cm*40cm groß, sondern ca. 5*8 cm^2 (grob geschätzt) und ich schätze es
> eben, wenn die Namen dort bereits in einer Liste vorhanden sind, ich mit
> der Maus an die Cursorposition klicke und dann mit der Maus in die
> Auswahlliste, wo die Tabellennamen stehen.
>
> Ich kann Dir nur den Tipp geben, es einfach mal auszuprobieren. Das ist
> echt eine ziemliche Erleichterung und man vermeidet Tipp-Fehler. Du
> wirst sicherlich auch ziemlich schnell zugeben müssen, dass meine
> Variante eine gute Lösung ist.

Mein SQL schreib ich meist in Intelij.
Dort hab ich dann die lokale Entwicklungs-DB hinterlegt.
Damit habe ich einen Guten Editor der mir die ganzen Vorteile die dir 
phpmyadmin liefert, und noch mehr (auch) per Tastatur verfügbar.
Ich kann dort einfach Tabellen/Spalten-Namen genauso wie andere Befehle 
und Keywords vervollständigen, genau so wie ich das in anderen Sprachen 
gewohnt bin.

von Ralf D. (doeblitz)


Lesenswert?

Bella Donna schrieb:
> ASM Superprofi schrieb:
>> Gute Programmierer nutzen Perl.
>
> Es gibt sogar ganze Firmen, die mit Python programmieren. In der
> Wissenschaft ist Python auch sehr beliegt, es dauert oft halt viele
> Jahre, bis Neuerungen auch bei anderen Menschen angekommen sind. Python
> bietet eine Vielzahl an Bibliotheken, z.B. die Matplot- oder die
> Numpy-Bibliothek, die es durchaus mit Matlab und Mathematica aufnehmen
> können und frei sind. Solche mächtigen Bibliotheken findest Du unter
> Perl nicht. Es gibt auch die freie Bibliothek tkinter.

Hüstel. Wirf mal einen Blick auf CPAN. Bis Python dahin kommt (wenn das 
jemals passiert) wird es wohl noch einige Jährchen dauern.

Was deine Numerik-Beispiele betrifft: PDL existiert auch nicht erst seit 
kurzem und sollte ähnlichen Funktionsumfang haben.

> Viele Messgerätehersteller bieten inzwischen auch
> Schnittstellenbibliotheken für Python an, Ruby oder Pearl vermisst man
> da oft.

PEARL war im letzten Jahrtausend u.a. durch Projekte des Heise-Verlags 
mal an ein größeres Publikum herangetragen worden, aber ich habe schon 
lange nichts mehr davon gehört. Wobei diese Echtzeitsprache u.a. zur 
Versuchsautomatisierung gut geeignet war und daher eien Anbindung von 
Laborausrüstung recht naheliegend wäre.

Man sollte die Sprache nur nicht mit Perl verwechseln. ;-)

> Ich denke, die unterschiedlichen Sprachen haben durchaus ihre
> Daseinsberechtigung und es wäre ratsam, nicht gleich alles zu verteufeln
> und alle Leute, die mit Python programmieren, an den Pranger zu stellen.

Ah, der Pranger ist viel zu harmlos. ;-)
Language-Wars sind doch immer wieder erheiternd. Nein, ich mag Python 
aus diversen Gründen nicht (und ja, ich habe es auch benutz, das ist 
keien Ablehneung nur von Hörensagen her), aber wenn andere sich in ihr 
Unglück stürzen wollen, dann sollen sie halt in Python programmieren.

Ansonsten (um noch ein wenig zu lästern): Python, MySQL und PHPMyAdmin 
passen schon gut zusammen, nette Spielzeuge für Amateure. Ich bleibe 
lieber bei Perl, PostgreSQL und wenn nötig PgAdmin. ;-)

von Bella Donna (Gast)


Lesenswert?

programmatore magistrale schrieb:
> welche den
> sooo vielen von dir getippten (5d x 7h pro Wo) Code zu überprüfen haben.

Wie ich an einer Textstelle bereits erwähnte, mache ich das nur als 
Hobby und nicht wie jemand, der damit tagtäglich zu tun hat - ich denke, 
dass Du mich grade mit einem anderen Schreiber hier verwechselst.

Und für meine Zwecke, dass ich alle paar Wochen/Monate mal eine 
SQL-Abfrage in einer Datenbank mache, reicht mir mein phpMyAdmin mit dem 
kleinen Klickfenster vollkommen aus, akzeptiert das doch einfach bitte 
mal und macht mich nicht gleich fertig, dass copy und paste nur von 
schlechten Leuten gemacht wird, dass ich eine bessere IDE verwenden 
solle oder Python würde nichts taugen.

Könnt ihr denn das nicht einfach akzeptieren?

von Bella Donna (Gast)


Lesenswert?

Ralf D. schrieb:
> Ah, der Pranger ist viel zu harmlos. ;-)
> Language-Wars sind doch immer wieder erheiternd. Nein, ich mag Python
> aus diversen Gründen nicht (und ja, ich habe es auch benutz, das ist
> keien Ablehneung nur von Hörensagen her), aber wenn andere sich in ihr
> Unglück stürzen wollen, dann sollen sie halt in Python programmieren.

Was gefällt Dir an Python nicht? Das mit den Einrückungen ist 
gewöhnungsbedürftig, die fehlenden Pointer vlt. auch, aber ansonsten ist 
es doch recht brauchbar.

Ralf D. schrieb:
> Python, MySQL und PHPMyAdmin
> passen schon gut zusammen, nette Spielzeuge für Amateure.

genau, also genau das richtige für mich, denn ich bin ein Amateur.

PostgreeSQL ist auch eher etwas für Spaßprogrammierung oder kleinere 
Spielanwendungen, die man auch mit Access machen könnte mit einer 
Exceleingabemaske. Bei großen Datenbanksystemen nutzt man im 
professionellen Bereich DB2 von IBM oder Oracle-Datenbanken.

von ottonormaloser (Gast)


Lesenswert?

programmatore magistrale schrieb:
> Tester

Und die machen das dann mit der Maus. Oder hab ich jetzt den Faden 
verloren?

von M. K. (kichi)


Lesenswert?

Christoph K. schrieb:
> Die drei ''' oder """ sind für die automatische Dokumentation mit
> Doxygen gedacht

... und Strings über mehrere Zeilen.

von Rolf M. (rmagnus)


Lesenswert?

Michael K. schrieb:
> Christoph K. schrieb:
>> Die drei ''' oder """ sind für die automatische Dokumentation mit
>> Doxygen gedacht
>
> ... und Strings über mehrere Zeilen.

Eigentlich auch nicht für Doxygen, sondern für die Python-interne Doku 
(sogenannte Docstrings):
1
Python 3.5.2+ (default, Sep 22 2016, 12:18:14) 
2
[GCC 6.2.0 20160927] on linux
3
Type "help", "copyright", "credits" or "license" for more information.
4
>>> def mal2(x):
5
...     """Diese Funktion gibt das doppelte des übergebenen Wertes aus"""
6
...     return x*2
7
... 
8
>>> mal2.__doc__
9
'Diese Funktion gibt das doppelte des übergebenen Wertes aus'

Doxygen greift das einfach nur auf und nutzt die Docstrings für seine 
generierten Dokumentationen.

von ottonormalose (Gast)


Lesenswert?

Rolf M. schrieb:
> Doxygen greift das einfach nur auf und nutzt die Docstrings für seine
> generierten Dokumentationen.

bist du dir da sicher?

von Rolf M. (rmagnus)


Lesenswert?

ottonormalose schrieb:
> bist du dir da sicher?

Ja. Docstrings gibt's in Python seit Version 1.1, das heißt seit über 20 
Jahren - länger als Doxygen überhaupt existiert. Und das hat dann noch 
10 Jahre gebraucht, um überhaupt Support für Python zu bekommen.

von Ralf D. (doeblitz)


Lesenswert?

Bella Donna schrieb:
> Ralf D. schrieb:
>> Ah, der Pranger ist viel zu harmlos. ;-)
>> Language-Wars sind doch immer wieder erheiternd. Nein, ich mag Python
>> aus diversen Gründen nicht (und ja, ich habe es auch benutz, das ist
>> keien Ablehneung nur von Hörensagen her), aber wenn andere sich in ihr
>> Unglück stürzen wollen, dann sollen sie halt in Python programmieren.
>
> Was gefällt Dir an Python nicht? Das mit den Einrückungen ist
> gewöhnungsbedürftig, die fehlenden Pointer vlt. auch, aber ansonsten ist
> es doch recht brauchbar.

Semantic Whitespace ist für mich schon mal ein KO-Kriterium und Guidos 
Philosophie ist auch Larrys Philosophie diametral entgegengesetzt. Ich 
bevorzuge es, wenn ich entscheiden kann, wie ich ein Problem löse, und 
mich die Sprache dabei möglichst bei jeder möglichen Variante 
unterstützt anstatt mich auch einen bestimmten Weg zu zwingen. YMMV.

> Ralf D. schrieb:
>> Python, MySQL und PHPMyAdmin
>> passen schon gut zusammen, nette Spielzeuge für Amateure.
>
> genau, also genau das richtige für mich, denn ich bin ein Amateur.

Solange du nur Primitvkram machen willst, wird das reichen. Aber danach 
wird MySQL sehr schnell sehr umständlich und man lebt mit einer 
richtigen Datenbank sehr viel angenehmer (sprich: du kannst die Sachen 
von der DB-Engine erledigen lassen statt sie selbst schelchert 
nachbilden zu müssen). Geodaten in PostgreSQL mittels PostGIS zu 
verarbeiten ist z.B. total simpel.

> PostgreeSQL ist auch eher etwas für Spaßprogrammierung oder kleinere
> Spielanwendungen, die man auch mit Access machen könnte mit einer
> Exceleingabemaske. Bei großen Datenbanksystemen nutzt man im
> professionellen Bereich DB2 von IBM oder Oracle-Datenbanken.

Da irrst du. Auch PostgreSQL wird in größeren kommerziellen Systemen 
eingesetzt. Der Unterschied zu DB2 und Oracle ist heutzutage schon 
verdammt klein geworden.

von Bella Donna (Gast)


Lesenswert?

Ralf D. schrieb:
>> PostgreeSQL ist auch eher etwas für Spaßprogrammierung oder kleinere
>> Spielanwendungen, die man auch mit Access machen könnte mit einer
>> Exceleingabemaske. Bei großen Datenbanksystemen nutzt man im
>> professionellen Bereich DB2 von IBM oder Oracle-Datenbanken.
>
> Da irrst du. Auch PostgreSQL wird in größeren kommerziellen Systemen
> eingesetzt. Der Unterschied zu DB2 und Oracle ist heutzutage schon
> verdammt klein geworden.

Mag sein, ich wollte Dich auch nur ein bißchen auf die Schippe nehmen 
:-)

Was hälst Du von MariaDB?

Ich habe ein kleines NAS-System von Scientology , da ist ein MySQL halt 
integriert in deren Betriebssystem als fertiges Paket, kein PostgreeSQL. 
Daher ist das praktisch, das NAS läuft halt immer und alle meine 
Messgeräte im Netzwerk schreiben die Messwerte in die Datenbank dort und 
ich kann sie vom PC aus abrufen. Für mich reicht das aus.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Bella Donna schrieb:
> Ich habe ein kleines NAS-System von Scientology

Was? Dieser Bande vertraust du deine Daten an? ;-)

von Ralf D. (doeblitz)


Lesenswert?

Bella Donna schrieb:
[...]
> Mag sein, ich wollte Dich auch nur ein bißchen auf die Schippe nehmen
> :-)

Kein Problem.

> Was hälst Du von MariaDB?

Abstand. Möglichst großen. ;-)

Bei mir läuft grundsätzlich eine PostgreSQL, damit kann ich dann alles 
erledigen, was hier so anfällt. Und mit den Jahren hat man dann auch 
genug SQL-Fragmente, Stored Procedures und Libraries rumliegen, die man 
wiederverwenden kann.

> Ich habe ein kleines NAS-System von Scientology , da ist ein MySQL halt
> integriert in deren Betriebssystem als fertiges Paket, kein PostgreeSQL.
> Daher ist das praktisch, das NAS läuft halt immer und alle meine
> Messgeräte im Netzwerk schreiben die Messwerte in die Datenbank dort und
> ich kann sie vom PC aus abrufen. Für mich reicht das aus.

Für primitive Sachen, wie eben Messwerte in eine Tabelle schreiben, 
reicht das Zeug auch vollkommen aus. Aber bei den interessanteren Sachen 
(wie eben z.B. Stored Procedures, Trigger, GIS-Erweiterungen) stößt man 
bei MySQL und Ablegern halt extrem schnell an die Grenzen. Irgendwann 
willst du mit den Messwerten dann mal mehr machen, und da ist ein DBMS, 
das den vollen ANSI-SQL-Umfang bietet (und einiges mehr) dann ein nettes 
Werkzeug.

Die Kollegen, die ein Kundensystem mit MySQL betreuen müssen, fluchen 
jedenfalls regelmäßig rum, wenn da mal wieder etwas nicht ganz so läuft, 
wie man es vom Standard her erwarten würde (und wie es bei z.B. 
PostgreSQL auch läuft).

Und Maintenance ist bei MySQL auch unlustig (kübel mal ein paar GByte 
Daten rein, lösch sie wieder, wiederhol das 20 mal und sieh dir dann den 
Verbrauch an Plattenspeicher an).

PostgreSQL ist da auch kein Stück schwerer zu erlernen als MySQL&Co., 
aber man hat länger was davon. Und ich bin bisher noch nicht wirklich an 
Grenzen des Systems gestoßen (man kann ja notfalls immer noch eine 
Extension schreiben und in DBMS reinladen ...).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.