Vertiefungsmodul Programmieren für Biologen Lernkarteien

HHU V-Modul Biologie Bachelor Lernkarten für thereotischen Klausurteil

HHU V-Modul Biologie Bachelor Lernkarten für thereotischen Klausurteil


A. P.
Diese Lernkarten richten sich an Biologie-Studierende, die sich mit Programmierung vertraut machen möchten. Sie behandeln grundlegende Konzepte wie Mengen, Elemente, Objekte, Zahlen und Strings, sowie fortgeschrittene Themen wie reguläre Ausdrücke, Listenverarbeitung und Mengenoperationen. Die Karteikarten helfen dabei, die Anwendung von Methoden und Operatoren in der Programmierung zu verstehen und zu üben, was für die Datenanalyse und -verarbeitung in der Biologie essenziell ist.
Karten
47
Lernende
3
Sprache
Deutsch
Kategorie
Biologie
Stufe
Universität
Erstellt / Aktualisiert
12.06.2022 / 18.06.2023

Lernkarten

Menge definieren: set-Objekt 

- Mengen werden durch set-Objekte dargestellt

- eine Menge kann mit dem Konstrukt {...} definiert werden

- kann unterschiedliche Objekte enthalten

- da die Elemente einer Menge einmalig sein sollen, werden Elemente die mehrmals genannt werden nur ein Mal gezählt 

- Objekte müssen unveränderlich sein --> Keine Liste erlaiubt, Tupel und String schon 

set-Objekt

enthält eine ungeordnete Sammlung von einmaligen unveränderlichen Objekten 

Mengen-Casting: Funktion set(...)

- so kann man list-Objekte und Zeichenketten in Mengen umwandeln 

- bei einem String als Argument liefer set(...) ein set-Objekt zurück, indem die einzelnen Zeichen die Elemente der Menge darstellen 

-bei list-Objekten liefert die Funktion ein set-Objekt zurück, dass einmalige und unveränderbare Elemente aus der ursprünglichen Liste enthält 

Menge als Liste betrachten 

- kann mit Hilfe von list(...), str(...), tupel(...) un das jeweilige Objekt gecastet werden

- Listen und Tupel haben dann Menge als Wert (also keine doppelten Sachen) 

Methode add bei sets 

hinzufügen von Elementen in eine Menge (an beliebiger Stelle)

Methode clear(...) bei sets 

leert die Menge 

Methode copy(...) bei sets 

-liefert eine flache Kopie einer Menge zurück

- da tiefe Elemente unveränderlich sein müssen -> keine Notwendigkeit von deepcopy

Funktion len(...) bei sets 

Anzahl der Elemente einer Menge 

Methode difference(...) bei sets 

liefert die Differenz zwischen zwei Variablen (zwei sets) zurück 

 

wenn x={1,2,3,4} und y={2,4}, dann gilt:      x.difference(y) => {1,3} 

Methode difference_update(...) bei sets 

wenn die ursprüngliche Menge direkt aktualisiert werden soll 

Variable

 In einer Variablen kann also ein Wert abgelegt und wieder ausgegeben werden.

Operator minus (-) bei sets

liefert direkt die Mengendifferenz, ohne Methode difference

Methode discard(...) bei sets 

- Ein Element kann aus einer Menge entfernt werden

- Falls das Element nicht vorhanden ist, bleibt die Menge unverändert 

Methode union(...) bei sets

kann die Vereinigungsmenge zweier Mengen bestimmt werden, hierfür kann man aber auch den Operator gerader Strich verwenden

Methode intersection(..) bei sets

Kann die Schnittmenge zweier Menschen bestimmen , kann auch mit dem Operator & erfolgen

Methode isdisjoint(...) bei sets

kann ermitteln, ob zwei Mengen disjunkt sind, also ihre Schnittmenge leer ist (haben also nicht den gleichen Wert an Menge)

Teilmenge einer Menge

- Mit der Methode issubset(...) kann ermittelt werden, ob eine Menge Teilmenge einer anderen ist

- kann ebenfalls mit <= gemacht werden

Obermenge eine Menge

- Mit der Methode issuperset(...) kann man ermitteln, ob eine Menge eine Obermenge einer anderen ist

- Kann auch mit dem Operator >= erzeugt werden

Methode pop(...) bei sets

-wird ein beliebiges Element einer nicht-leeren Menge zurückgeliefert und entfernt

List-Comprehension: Definition

-kompakte Variante der Listendefinition

- setzt sich zusammen aus: 

1. Eingabefolgetyp

2. optionale Abhängigkeit

3. Variable, die die Elemente der Eingabeabfolge repräsentiert

4. ein Zielausdruck, der Elemente in einer Ausgabeliste von Mitgliedern der Eingabefolge erzeugt, die die Abhängigkeit erfüllt

Beispiel List-Comprehension

 

[i**2 for in range(10) if i % 2=0}

- i**2 ist der Zielausdruck

- for i in --> Das i steht für die Variable

- range(10) Eingabefolgetyp

- if i % 2=0 Optionale Abhängigkeit 

List-Comprehension: Allgemeine Möglichkeit

- Zielausdruck kann ein Tupel sein

- es können mehrere Schleifen verwendet werden

- durch Verschachtelungen lassen sich auch Matrizen erstellen

- es lassen sich auch kompakte Mengen definieren; jeedes Ausgabeelement dann einmalig 

Reguläre Ausdrücke Allgemein

- können Zeichenketten nach Mustern untersuchen

- es können sehr komplexe Muster abgefragt werden oder Ersetzungen vorgenommen werden

- Verwendung von rohen Zeichenketten (r" ")

- Importierung von re notwendig

Funktion re.search(Muster, String, Mod)

-...liefert ein Regular-Expression-Objekt wenn Muster in String vorhanden ist, ansonsten den Wert Nontype -> false und true, deshalb if-Abfrage

Methode group(...)

-Klammern können bestimmte Teile als Ausdruck gekennzeichnet werden 

-> mo=re.search(r"(Bio)(logie)", mein String) 

- group greift dann auf die einzelnen Teile zu 

-> 

globale Mustersuche: re.finditer(...)

Falls das Muster mehrmals vorhanden ist, dient diese Methode als Iterator verwendet werden 

Globale Mustersuche: re.findall(...)

Falls lediglich die Treffer als String gefunden werden sollen

- Methode liefert eine Liste aller Treffer zurück

Suchen und Ersetzen mit Gruppierungen

- innerhalb der Ersetzunf können die Gruppierungen ebenfalls wieder verwendet werden -> wir schreiben dann \1

- also beispielsweise text_neu=re.sub(r"Biologie",r"Germanistik und \1, text)

Output: Marie studiert Germanistik und Biologie

Methode re.split(...)

-ein Teilstring kann über einen regulären Ausdruck angegben werden 

Metazeichen Allgemein

-haben eine spezielle Bedeutung trotz regulärem Ausdruck

- will man die Zeichen selber suchen, muss man dann aber \ schreiben

Metazeichen Punkt

meint jedes beliebige Satzzeichen

Metazeichen: [abc]

- nur ein einziges Zeichen aus der Menge wird gesucht

Metazeichen [^ABC]

- ein Zeichen, aber nicht aus der angegebenen Menge

Metazeichen aa|bb

suchen aa oder bb, nicht gemischt 

Metazeichen $

Ende der Zeichenkette

Metazeichen ^

Anfang der Zeichenkette 

Quantoren: Definition

Quantoren legen fest, wie oft ein Teil eines Ausdrucks hintereinander vorkommen darf beziehungsweise soll

Zeichenklassen

- [0-9] \d \D Ziffer

- [a-Z, A-Z, a-z, 0-9] \w \W Wortzeichen

- [\t \n \r \f ] \s \S Whitespace

Quantor *

beliebig oft das Zeichen, darf auch fehlen, also Leerzeichen sein

Quantor +

mindestens ein Mal 

Lernen