Python console/de: Difference between revisions

From FreeCAD Documentation
(Created page with "Python Konsole")
 
(Created page with "* Es ist möglich in der Python-Konsole durch die API zu scrollen. Beispiel: *# In der Konsole tippt man: {{incode|FreeCAD.}} *# Ein Dialogfenster zur Auswahl optionaler Klassen oder Funktionen erscheint. *# Beim Scrollen durch die Liste können die Beschreibungen jeder Klasse bzw. Funktion gelesen werden. *# Wird eine Funktion ausgewählt und mit einem {{incode|.}} ergänzt, können die Schritte 2 und 3 wiederholt werden, um tiefer in die API vorzudringen. * Tab-/Worte...")
 
(34 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{VeryImportantMessage|(January 2020) FreeCAD was originally designed to work with Python 2. Since Python 2 reached end of life in 2020, future development of FreeCAD will be done exclusively with Python 3, and backwards compatibility will not be supported.}}
{{VeryImportantMessage|(Januar 2020) FreeCAD wurde ursprünglich für die Arbeit mit Python 2 entwickelt. Da Python 2 im Jahr 2020 das Ende seiner Lebensdauer erreicht hat, wird die zukünftige Entwicklung von FreeCAD ausschließlich mit Python 3 erfolgen und die Abwärtskompatibilität wird nicht unterstützt.}}


== Introduction ==
<span id="Introduction"></span>
== Einleitung ==


{{TOCright}}
The [[Python console|Python console]] is a panel that runs an instance of the [[Python|Python]] interpreter which can be used to control FreeCAD processes, and create and modify objects and their properties.


Die [[Python console/de|Python-Konsole]] ist ein Feld, das Teil der FreeCAD-[[interface/de|Benutzerschnittstelle]] ist. Es führt eine Instanz des [[Python/de|Python]]-Interpreters aus, mit dem FreeCAD-Prozesse gesteuert sowie Objekte und deren Eigenschaften erstellt und geändert werden können.
The Python console in FreeCAD has basic syntax highlighting, able to differentiate with various styles and colors, comments, strings, numeric values, built in functions, printed text output, and delimiters like parentheses and commas. These properties of the console can be configured in the [[Preferences_Editor|Preferences editor]].

Sie kann über den Menüeintrag {{MenuCommand|Ansicht → Paneele → Python-Konsole}} eingeblendet werden.

Die Python-Konsole in FreeCAD verfügt über eine grundlegende Syntaxhervorhebung, die es ermöglicht, mit verschiedenen Stilen und Farben, Kommentaren, Zeichenketten, numerischen Werten, eingebauten Funktionen, gedruckter Textausgabe und Trennzeichen wie Klammern und Kommata zu unterscheiden. Diese Eigenschaften der Konsole können im [[Preferences_Editor/de|Voreinstellungseditor]] konfiguriert werden.


[[File:FreeCAD_Python_console.png|800px]]
[[File:FreeCAD_Python_console.png|800px]]


{{Caption|The Python console showing messages when FreeCAD has just started.}}
{{Caption|Die Python Konsole zeigt Meldungen an, wenn FreeCAD gerade gestartet wurde.}}


== Scripting ==
<span id="Scripting"></span>
== Skripten ==


{{Emphasis|For absolute beginners, see:}} [[Introduction to Python|Introduction to Python]], and [[Python scripting tutorial|Python scripting tutorial]].
{{Emphasis|Für absolute Anfänger, siehe:}} [[Introduction to Python/de|Einführung in Python]], und [[Python scripting tutorial/de|Python Tutorium Skripten]].


{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD scripting basics]], and [[Scripted objects|Scripted objects]].
{{Emphasis|Siehe auch:}} [[FreeCAD Scripting Basics/de|FreeCAD Grundlagen Skripten]], und [[Scripted objects/de|Geskriptete Objekte]].


The Python console can perform basic code completion when a dot is written after an object; it will show public methods and attributes (variables) of the current object (class), for example, {{incode|obj.}}
Die Python Konsole kann grundlegende Code Vervollständigung durchführen, wenn ein Punkt nach einem Objekt steht; sie zeigt öffentliche Methoden und Attribute (Variablen) des aktuellen Objekts (Klasse), zum Beispiel {{incode|obj.}}


The console is also able to show the documentation string of a particular function when the opening parenthesis is written, for example, {{incode|function(}}
Die Konsole ist auch in der Lage, den Dokumentationsstring einer bestimmten Funktion anzuzeigen, wenn die öffnende Klammer geschrieben wird, z.B. {{incode|function(}}


[[File:FreeCAD_Python_console_example.png|800px]]
[[File:FreeCAD_Python_console_example.png|800px]]


{{Caption|Example Python code that produces objects in the 3D view.}}
{{Caption|Beispiel Python Code, der Objekte in der 3D Ansicht erzeugt.}}


The Python console automatically loads some modules, and defines some aliases.


Die FreeCAD Initialisierungsskripte laden automatisch einige Module und definieren einige Aliase. In der Python Konsole stehen diese daher zur Verfügung
{{Code|code=
{{Code|code=
App = FreeCAD
App = FreeCAD
Line 34: Line 38:
}}
}}


Daher sind diese gleichwertig
Therefore these are equal


{{Code|code=
{{Code|code=
Line 41: Line 45:
}}
}}


{{Emphasis|Hinweis:}} diese vorinstallierten Module und Aliase sind nur über die in das FreeCAD Programm eingebettete Python Konsole verfügbar. Wenn Du FreeCAD als Bibliothek in einem externen Programm verwendest, musst Du daran denken, die Module {{incode|FreeCAD}} und {{incode|FreeCADGui}} zu laden und die notwendigen Aliase zu definieren, wenn Du möchtest.
== Actions ==

<span id="Actions"></span>
== Maßnahmen ==

Ein Rechtsklick auf die Python Konsole zeigt einige Befehle an:
* {{MenuCommand|Kopiere}}: speichert den markierten Text in der Zwischenablage zum späteren Einfügen; er ist deaktiviert, wenn nichts markiert ist.
* {{MenuCommand|Kopiere Befehl}}: speichert den markierten Befehl in der Zwischenablage zum späteren Einfügen; er ist deaktiviert, wenn nichts markiert ist.
* {{MenuCommand|Kopiere Historie}}: die gesamte Historie der in dieser Sitzung eingegebenen Python-Befehle kopieren.
* {{MenuCommand|Save history as}}: die gesamte Historie der in dieser Sitzung eingegebenen Python Befehle in eine Textdatei speichern.
* {{MenuCommand|Einfügen}}: zuvor kopierten Text aus der Zwischenablage in die Python-Konsole einfügen.
* {{MenuCommand|Alles Wählen}}: wählt den gesamten Text in der Python-Konsole aus.
* {{MenuCommand|Konsole löschen}}: löscht alle in der Python Konsole eingegebenen Befehle. Dies ist nützlich, wenn die Python Konsole voll von Meldungen und zuvor eingegebenen Befehlen ist, die beim Testen einer neuen Funktion ablenken könnten. Dies ist nur ästhetisch, da dieser Befehl weder vorhandene Variablen löscht noch die importierten Module in der Sitzung löscht.
* {{MenuCommand|Dateiname einfügen}}: öffnet einen Dialog zum Suchen einer Datei im System, dann fügt es den vollständigen Pfad der Datei ein. Dies ist nützlich, um Funktionen zu testen, die eine Eingabedatei verarbeiten, ohne den gesamten Namen in die Konsole schreiben zu müssen, was fehleranfällig ist. Dieser Befehl führt die Datei nicht aus und importiert sie nicht als Python-Modul, sondern gibt nur den vollständigen Pfad der Datei zurück.
* {{MenuCommand|Wort umbrechen}}: sehr lange Zeilen umbrechen, die die horizontale Dimension der Python-Konsole überschreiten.

<span id="Notes"></span>
==Hinweise==

* Es ist möglich in der Python-Konsole durch die API zu scrollen. Beispiel:
*# In der Konsole tippt man: {{incode|FreeCAD.}}
*# Ein Dialogfenster zur Auswahl optionaler Klassen oder Funktionen erscheint.
*# Beim Scrollen durch die Liste können die Beschreibungen jeder Klasse bzw. Funktion gelesen werden.
*# Wird eine Funktion ausgewählt und mit einem {{incode|.}} ergänzt, können die Schritte 2 und 3 wiederholt werden, um tiefer in die API vorzudringen.
* Tab-/Wortergänzung wird unterstützt, wenn das Tastaturkürzel {{KEY|Ctrl}}+{{KEY|Space}} verwendet wird.


Right click on the Python console shows some commands:
* {{MenuCommand|Copy}}: stores the selected text in the clipboard for later pasting; it is disabled if nothing is selected.
* {{MenuCommand|Copy command}}: stores the selected command in the clipboard for later pasting; it is disabled if nothing is selected.
* {{MenuCommand|Copy history}}: copy the entire history of Python commands entered in this session.
* {{MenuCommand|Save history as}}: save the entire history of Python commands entered in this session to a text file.
* {{MenuCommand|Paste}}: paste previously copied text in the clipboard to the Python console.
* {{MenuCommand|Select all}}: selects all text in the Python console.
* {{MenuCommand|Clear console}}: erases all commands entered into the Python console. This is useful if the Python console is full of messages and previously entered commands that may be distracting when testing a new function. This is merely aesthetic, as this command doesn't delete existing variables nor clears the imported modules in the session.
* {{MenuCommand|Insert file name}}: opens a dialog to search for a file in the system, then it inserts the full path of the file. This is useful to test functions that process an input file, without having to write the entire name in the console, which is error prone. This command does not run the file, and does not import it as a Python module, it just returns the full path of that file.
* {{MenuCommand|Word wrap}}: wrap very long lines that exceed the horizontal dimension of the Python console.


{{Interface}}
{{Interface navi{{#translation:}}}}
{{Std Base navi{{#translation:}}}}
{{Userdocnavi}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 13:14, 1 April 2023

(Januar 2020) FreeCAD wurde ursprünglich für die Arbeit mit Python 2 entwickelt. Da Python 2 im Jahr 2020 das Ende seiner Lebensdauer erreicht hat, wird die zukünftige Entwicklung von FreeCAD ausschließlich mit Python 3 erfolgen und die Abwärtskompatibilität wird nicht unterstützt.

Einleitung

Die Python-Konsole ist ein Feld, das Teil der FreeCAD-Benutzerschnittstelle ist. Es führt eine Instanz des Python-Interpreters aus, mit dem FreeCAD-Prozesse gesteuert sowie Objekte und deren Eigenschaften erstellt und geändert werden können.

Sie kann über den Menüeintrag Ansicht → Paneele → Python-Konsole eingeblendet werden.

Die Python-Konsole in FreeCAD verfügt über eine grundlegende Syntaxhervorhebung, die es ermöglicht, mit verschiedenen Stilen und Farben, Kommentaren, Zeichenketten, numerischen Werten, eingebauten Funktionen, gedruckter Textausgabe und Trennzeichen wie Klammern und Kommata zu unterscheiden. Diese Eigenschaften der Konsole können im Voreinstellungseditor konfiguriert werden.

Die Python Konsole zeigt Meldungen an, wenn FreeCAD gerade gestartet wurde.

Skripten

Für absolute Anfänger, siehe: Einführung in Python, und Python Tutorium Skripten.

Siehe auch: FreeCAD Grundlagen Skripten, und Geskriptete Objekte.

Die Python Konsole kann grundlegende Code Vervollständigung durchführen, wenn ein Punkt nach einem Objekt steht; sie zeigt öffentliche Methoden und Attribute (Variablen) des aktuellen Objekts (Klasse), zum Beispiel obj.

Die Konsole ist auch in der Lage, den Dokumentationsstring einer bestimmten Funktion anzuzeigen, wenn die öffnende Klammer geschrieben wird, z.B. function(

Beispiel Python Code, der Objekte in der 3D Ansicht erzeugt.

Die FreeCAD Initialisierungsskripte laden automatisch einige Module und definieren einige Aliase. In der Python Konsole stehen diese daher zur Verfügung

App = FreeCAD
Gui = FreeCADGui

Daher sind diese gleichwertig

App.newDocument()
FreeCAD.newDocument()

Hinweis: diese vorinstallierten Module und Aliase sind nur über die in das FreeCAD Programm eingebettete Python Konsole verfügbar. Wenn Du FreeCAD als Bibliothek in einem externen Programm verwendest, musst Du daran denken, die Module FreeCAD und FreeCADGui zu laden und die notwendigen Aliase zu definieren, wenn Du möchtest.

Maßnahmen

Ein Rechtsklick auf die Python Konsole zeigt einige Befehle an:

  • Kopiere: speichert den markierten Text in der Zwischenablage zum späteren Einfügen; er ist deaktiviert, wenn nichts markiert ist.
  • Kopiere Befehl: speichert den markierten Befehl in der Zwischenablage zum späteren Einfügen; er ist deaktiviert, wenn nichts markiert ist.
  • Kopiere Historie: die gesamte Historie der in dieser Sitzung eingegebenen Python-Befehle kopieren.
  • Save history as: die gesamte Historie der in dieser Sitzung eingegebenen Python Befehle in eine Textdatei speichern.
  • Einfügen: zuvor kopierten Text aus der Zwischenablage in die Python-Konsole einfügen.
  • Alles Wählen: wählt den gesamten Text in der Python-Konsole aus.
  • Konsole löschen: löscht alle in der Python Konsole eingegebenen Befehle. Dies ist nützlich, wenn die Python Konsole voll von Meldungen und zuvor eingegebenen Befehlen ist, die beim Testen einer neuen Funktion ablenken könnten. Dies ist nur ästhetisch, da dieser Befehl weder vorhandene Variablen löscht noch die importierten Module in der Sitzung löscht.
  • Dateiname einfügen: öffnet einen Dialog zum Suchen einer Datei im System, dann fügt es den vollständigen Pfad der Datei ein. Dies ist nützlich, um Funktionen zu testen, die eine Eingabedatei verarbeiten, ohne den gesamten Namen in die Konsole schreiben zu müssen, was fehleranfällig ist. Dieser Befehl führt die Datei nicht aus und importiert sie nicht als Python-Modul, sondern gibt nur den vollständigen Pfad der Datei zurück.
  • Wort umbrechen: sehr lange Zeilen umbrechen, die die horizontale Dimension der Python-Konsole überschreiten.

Hinweise

  • Es ist möglich in der Python-Konsole durch die API zu scrollen. Beispiel:
    1. In der Konsole tippt man: FreeCAD.
    2. Ein Dialogfenster zur Auswahl optionaler Klassen oder Funktionen erscheint.
    3. Beim Scrollen durch die Liste können die Beschreibungen jeder Klasse bzw. Funktion gelesen werden.
    4. Wird eine Funktion ausgewählt und mit einem . ergänzt, können die Schritte 2 und 3 wiederholt werden, um tiefer in die API vorzudringen.
  • Tab-/Wortergänzung wird unterstützt, wenn das Tastaturkürzel Ctrl+Space verwendet wird.