{"id":172433,"date":"2023-03-17T18:35:05","date_gmt":"2023-03-17T17:35:05","guid":{"rendered":"https:\/\/liora.io\/de\/?p=172433"},"modified":"2026-02-06T06:59:13","modified_gmt":"2026-02-06T05:59:13","slug":"python-fuer-fortgeschrittene","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/python-fuer-fortgeschrittene","title":{"rendered":"Python f\u00fcr Fortgeschrittene"},"content":{"rendered":"<style><br \/>\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style>\n<h2>Python f\u00fcr Fortgeschrittene: Wenn du Machine Learning mit Python machst, brauchst du nicht unbedingt alle Eigenschaften dieser Sprache zu verwenden: scikit-learn, numpy und pandas sind sehr gut entwickelt und erfordern nicht viel mehr als Grundlagen der objektorientierten Programmierung und ein wenig methodisches Geschick.<\/h2>\nManchmal besteht die Arbeit des Data Scientists jedoch darin, APIs zu erstellen, um auf ein Modell oder Daten zuzugreifen. Bei uns ist daf\u00fcr der Data Engineer zust\u00e4ndig, aber in vielen Organisationen ist der <strong>Data Scientist<\/strong> daf\u00fcr zust\u00e4ndig. Ein Unternehmen wie Amazon erstellt zum Beispiel alle seine Funktionen in Form von APIs. Es ist daher unerl\u00e4sslich, sich neben Kenntnissen \u00fcber Machine Learning, <a href=\"https:\/\/liora.io\/de\/style-transfer-deep-learning\">Deep Learning<\/a>, <a href=\"https:\/\/liora.io\/de\/datenvisualisierung-mit-plotly\">Data Visualization<\/a> und verschiedene statistische Techniken zur Datenexploration auch mit <a href=\"https:\/\/liora.io\/de\/api\">APIs<\/a> vertraut zu machen.\n\nUm nicht auf seine Lieblingssprache verzichten zu m\u00fcssen, wird der Data Scientist dann nat\u00fcrlich auf <a href=\"https:\/\/flask.palletsprojects.com\/en\/1.1.x\/\">Flask<\/a> zur\u00fcckgreifen. <a href=\"https:\/\/liora.io\/de\/api-mit-python-datenbank-verbinden\">Flask ist eine der Technologien<\/a>, die wir in unserem <a href=\"https:\/\/liora.io\/de\/weiterbildung-data-engineer\">Data-Engineering-Kurs vorstellen.<\/a>\n<h3>Flask ist sch\u00f6n und gut, aber&#8230;<\/h3>\nWenn du die Syntax einmal verstanden hast, ist Flask sehr einfach zu benutzen. Aber wenn du es zum ersten Mal benutzt, wirst du mit dieser Art von Code konfrontiert:\n\nDiese @app.route direkt aus der H\u00f6lle, die <a href=\"https:\/\/liora.io\/de\/python-fehler-diese-solltest-du-vermeiden\">Dein gesamtes Verst\u00e4ndnis von Python in Frage stellt&#8230;<\/a>\n<h3>Python f\u00fcr Fortgeschrittene: Dekorateure<\/h3>\n<style><br \/>\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\n<figure>\n\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/peintre-en-batiment.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/peintre-en-batiment.png 468w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/peintre-en-batiment-300x224.png 300w\" sizes=\"(max-width: 468px) 100vw, 468px\" width=\"468\" height=\"350\"><figcaption>\u00c0 priori rien \u00e0 voir &#8230;<\/figcaption><\/figure>\nDieses @ wird in Python verwendet, um einen Dekorateur einzuf\u00fchren (und nein, er ist nicht einfach nur da, um sch\u00f6n auszusehen&#8230;). Es steht direkt vor einer Funktion und erm\u00f6glicht es, die Funktion in eine andere Funktion, den <strong>Wrapper,<\/strong> einzuwickeln (wrap).\n\nWenn ich also eine Funktion erstellen m\u00f6chte, die die Zeit misst und anzeigt, die eine Funktion ben\u00f6tigt, um zu laufen, kann ich sie wie folgt implementieren:\n\nDiese<strong> Funktion nimmt eine Funktion<\/strong> als Argument (function, wie der Name schon sagt), definiert darin eine neue Funktion (timed_function) und gibt die neue Funktion zur\u00fcck.\n\nWenn ich also einen Dekorateur benutze, kann ich sehen, dass die Zeit am Ende der Ausf\u00fchrung angezeigt wird.\n\n<strong>Dekoratoren<\/strong> sind sehr n\u00fctzlich, um den Datentyp zu \u00fcberpr\u00fcfen und um Informationen \u00fcber die Funktionsweise der Funktion anzuzeigen, ohne sie in jeder Funktion neu codieren zu m\u00fcssen. Sie werden vor allem in Flask verwendet, aber auch in vielen <strong>Quellcodes<\/strong> unserer Lieblingsbibliotheken: Hier ein paar Beispiele: <strong><a href=\"https:\/\/github.com\/numpy\/numpy\/blob\/master\/numpy\/core\/function_base.py#L23\">Nummer eins<\/a>,&nbsp;<a href=\"https:\/\/github.com\/scikit-learn\/scikit-learn\/blob\/master\/sklearn\/linear_model\/_base.py#L473\">Nummer 2, <\/a><\/strong>und <strong><a href=\"https:\/\/github.com\/pandas-dev\/pandas\/blob\/master\/pandas\/core\/frame.py#L423\">Nummer 3<\/a>. <\/strong>\n<h3>Gehen wir noch einen Schritt weiter &#8230;<\/h3>\nAls ich das gesehen habe, habe ich mir ein paar Fragen gestellt (und nicht nur, ob es wirklich n\u00fctzlich ist).\n\nKann man Argumente an den Dekorierer \u00fcbergeben und nicht an die dekorierte Funktion? Ja, aber die Syntax ist etwas komplizierter:\n\nKann man Dekorateure aneinanderreihen? Kein Problem:\n\nKann man Methoden dekorieren? Ja\n\nKann man Klassen dekorieren? Ja\n\n<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/deco-classe-300x199.png\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/deco-classe-300x199.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/03\/deco-classe.png 470w\" sizes=\"(max-width: 300px) 100vw, 300px\" width=\"300\" height=\"199\">\n\n<strong>Dekorateure<\/strong> sind ein ziemlich interessantes Werkzeug. Sie scheinen auf den ersten Blick \u00fcberraschend zu sein, aber wenn Du erst einmal verstanden hast, wie sie funktionieren, kannst Du Dir die Arbeit erleichtern. Du wirst ihnen nicht jeden Tag begegnen, aber wenn es doch passiert, dann weisst Du jetzt Bescheid&#8230;\n\nHat Dir dieser Artikel gefallen? Dann melde Dich f\u00fcr unseren <a href=\"https:\/\/liora.io\/de\/blog-de#formnewsletter\">Newsletter<\/a> an und erhalte Datentipps, die Du sonst nirgends findest!\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Unsere Weiterbildungen entdecken<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Python f\u00fcr Fortgeschrittene: Wenn du Machine Learning mit Python machst, brauchst du nicht unbedingt alle Eigenschaften dieser Sprache zu verwenden: scikit-learn, numpy und pandas sind sehr gut entwickelt und erfordern nicht viel mehr als Grundlagen der objektorientierten Programmierung und ein wenig methodisches Geschick. Manchmal besteht die Arbeit des Data Scientists jedoch darin, APIs zu erstellen, [&hellip;]<\/p>\n","protected":false},"author":47,"featured_media":172434,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2472],"class_list":["post-172433","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/172433","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=172433"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/172433\/revisions"}],"predecessor-version":[{"id":217669,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/172433\/revisions\/217669"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/172434"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=172433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=172433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}