PlusPedia wird derzeit technisch modernisiert. Aktuell laufen Wartungsarbeiten. Für etwaige Unannehmlichkeiten bitten wir um Entschuldigung; es sind aber alle Artikel zugänglich und Sie können PlusPedia genauso nutzen wie immer.

Neue User bitte dringend diese Hinweise lesen:

Anmeldung - E-Mail-Adresse Neue Benutzer benötigen ab sofort eine gültige Email-Adresse. Wenn keine Email ankommt, meldet Euch bitte unter NewU25@PlusPedia.de.

Hinweis zur Passwortsicherheit:
Bitte nutzen Sie Ihr PlusPedia-Passwort nur bei PlusPedia.
Wenn Sie Ihr PlusPedia-Passwort andernorts nutzen, ändern Sie es bitte DORT bis unsere Modernisierung abgeschlossen ist.
Überall wo es sensibel, sollte man generell immer unterschiedliche Passworte verwenden! Das gilt hier und im gesamten Internet.
Aus Gründen der Sicherheit (PlusPedia hatte bis 24.07.2025 kein SSL | https://)

Bei PlusPedia sind Sie sicher: – Wir verarbeiten keine personenbezogenen Daten, erlauben umfassend anonyme Mitarbeit und erfüllen die Datenschutz-Grundverordnung (DSGVO) vollumfänglich. Es haftet der Vorsitzende des Trägervereins.

PlusPedia blüht wieder auf als freundliches deutsches Lexikon.
Wir haben auf die neue Version 1.43.3 aktualisiert.
Wir haben SSL aktiviert.
Hier geht es zu den aktuellen Aktuelle Ereignissen

Modul (Software): Unterschied zwischen den Versionen

Aus PlusPedia
Zur Navigation springen Zur Suche springen
Fmrauch (Diskussion | Beiträge)
falsche Systematik und falsche Begriffe
Fmrauch (Diskussion | Beiträge)
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Ein '''Modul''' ist bei [[Computerprogramm]]en ein abgeschlossener Teil innerhalb der [[Software]]. Das Modul kann aus mehreren Komponenten bestehen wie Prozeduren, Funktionen und lokalen Daten.
Ein '''Modul''' ist bei [[Computerprogramm]]en ein meist abgeschlossener Teil innerhalb der [[Software]]. Das Modul kann aus mehreren Komponenten bestehen wie Prozeduren, Funktionen und lokalen Daten.


Module sind ein Mittel zur Kapselung (encapsulation) von Software, das bedeutet insbesondere eine Trennung zwischen der [[Schnittstelle (Programmierung)|Schnittstelle]].
Module sind ein Mittel zur Kapselung (encapsulation) von Software, das bedeutet insbesondere eine Trennung zur [[Schnittstelle (Programmierung)|Schnittstelle]]. Eine Modularisierung in [[C (Programmiersprache)|C]] und einigen anderen [[Programmiersprache]]n erfolgt auf Dateiebene, so dass die einzelnen Module zusammen ein Paket bilden.


== Vorzüge der Modularisierung ==
== Vorzüge der Modularisierung ==
* Programme oder -teile sind wiederverwendbar. Das Programm muss nicht mehrfach entwickelt werden und nicht mehrfach gepflegt werden.
* Programme oder -teile sind wiederverwendbar. Programmteile müssen nicht mehrfach entwickelt und gepflegt werden.
* Große komplexe Programme können gegliedert und strukturiert werden.
* Große komplexe Programme können gegliedert und strukturiert werden.
* Module können separat getestet werden
* Bestimmte Module können separat getestet werden
* Der Entwurf und die Definition von Modulen und Schnittstellen ist Teil der Designphase in der Softwareentwicklung.
* Der Entwurf und die Definition von Modulen und Schnittstellen ist Teil der Designphase in der [[Softwareentwicklung]].


== Aspekte ==
== Aspekte ==
* Viele Programmierspracdhen unterstüzten das Modulkonzept  
* Viele Programmiersprachen unterstützen das Modulkonzept  
* Module können in anderen Programmiersprachen verfasst werden
* Module können in verschiedenen Programmiersprachen verfasst werden


== Pakete ==
== Pakete ==
* Module könnnen zu Paketen zusammengefasst werden.
* Module könnnen zu Paketen zusammengefasst werden.
* Ein Modul ist ein Behälter, der Objekte enthält.
* Ein Modul ist ein Behälter, der Objekte enthält.
** In Python können diese  
** In [[Python (Programmiersprache)|Python]] können diese  
*** mit ''import'' vefügbar gemacht werden (import ModulName)
*** mit ''import'' vefügbar gemacht werden (import ModulName)
*** from module import name [name]* (Beliebig viele Namen können angefügt werden)
*** from module import name [name]* (beliebig viele Namen können angefügt werden)
***from module import * (Nicht Empfehlenswert) - Alle Module werden importiert.
***from module import * (nicht empfehlenswert) - Alle Module werden importiert.
* Module definieren einen Namensaum
* Module definieren einen [[Namensraum]]
 
* Pakete erlauben es, mehrere Module unter einem gemeinsamen Paketnamen zu gruppieren.
Es können Namenskonflikte entstehen - Es gibt weitere Varianten der import-Anweisung.
* Mit Paketen können auch Namenskonflikte vermieden werden.
 
 
Zugriff auf das Modul geschieht über


== Attribute eines Moduls ==
== Attribute eines Moduls ==
Zeile 36: Zeile 33:


== Arten von Modulen ==
== Arten von Modulen ==
* In Python ist mit einer .py-Datei ein Modul entstanden. Ein Verzeichnis ist das entsprechende Paket.
* In Python kann mit einer .py-Datei ein Modul gespeichert werden. Ein Verzeichnis ist das entsprechende Paket. Python erzeugt einen Zwischencode (Bytecode), diese Dateien sind mit .pyc gespeichert.  
** Pyhton erzeugt einen Zwischencode (Bytecode) - Diese Dateien sind mit .pyc gespeichert. Dies geschieht sofern sofern diese Datei noch nicht da ist.
** Auf der Kommandozeile geschieht dies nicht.
* In C oder C++ geschieht dies mit DLLs
* In C oder C++ geschieht dies mit DLLs
* ...
== Pakete ==
* Pakete erlauben es mehrere Module unter einem gemeinsamen Paketnamen zu gruppieren.
* Mit Paketen können Namensraumkonflikte zwischen den Modulnamen
** In Python
*** Ein Ordner gleichen Namens mit __init__.py (?)


== Beispiele ==
== Beispiele ==

Aktuelle Version vom 12. September 2025, 15:05 Uhr

Ein Modul ist bei Computerprogrammen ein meist abgeschlossener Teil innerhalb der Software. Das Modul kann aus mehreren Komponenten bestehen wie Prozeduren, Funktionen und lokalen Daten.

Module sind ein Mittel zur Kapselung (encapsulation) von Software, das bedeutet insbesondere eine Trennung zur Schnittstelle. Eine Modularisierung in C und einigen anderen Programmiersprachen erfolgt auf Dateiebene, so dass die einzelnen Module zusammen ein Paket bilden.

Vorzüge der Modularisierung

  • Programme oder -teile sind wiederverwendbar. Programmteile müssen nicht mehrfach entwickelt und gepflegt werden.
  • Große komplexe Programme können gegliedert und strukturiert werden.
  • Bestimmte Module können separat getestet werden
  • Der Entwurf und die Definition von Modulen und Schnittstellen ist Teil der Designphase in der Softwareentwicklung.

Aspekte

  • Viele Programmiersprachen unterstützen das Modulkonzept
  • Module können in verschiedenen Programmiersprachen verfasst werden

Pakete

  • Module könnnen zu Paketen zusammengefasst werden.
  • Ein Modul ist ein Behälter, der Objekte enthält.
    • In Python können diese
      • mit import vefügbar gemacht werden (import ModulName)
      • from module import name [name]* (beliebig viele Namen können angefügt werden)
      • from module import * (nicht empfehlenswert) - Alle Module werden importiert.
  • Module definieren einen Namensraum
  • Pakete erlauben es, mehrere Module unter einem gemeinsamen Paketnamen zu gruppieren.
  • Mit Paketen können auch Namenskonflikte vermieden werden.

Attribute eines Moduls

  • m.___dict__ - Dictionary des Moduls
  • m.___doc___ - Dokumentation des Moduls
  • m.___name___ - Name des Moduls
  • m.___file___ - Datei des Moduls
  • m.___path___ - Pfad des Moduls


Arten von Modulen

  • In Python kann mit einer .py-Datei ein Modul gespeichert werden. Ein Verzeichnis ist das entsprechende Paket. Python erzeugt einen Zwischencode (Bytecode), diese Dateien sind mit .pyc gespeichert.
  • In C oder C++ geschieht dies mit DLLs

Beispiele

In Python

  • Modul __builtin__ (automatisch dabei - muss nicht importiert werden)
  • Modul sys - I/O, Streams, ...
  • Modul string - Konstanten und Varible zur Bearbietung von String-Objekten
  • Modul os - für die Betriebssystemumgebung
  • Modul re - Mustererkennung und Reguläre Ausrückne
  • Module anydbm, pickle, shelve - Module zur Objket-Persistenz
  • GUI-Modul Tkinter
  • Internet Module
  • Module math
  • Module time
  • Modul dateiname
  • Module zum Threading

Siehe auch

Weblinks

Literatur

Einzelnachweise


Andere Lexika