Zum Inhalt

Module & Pakete

Module

  • Um alle Dateien miteinander zu verknüpfen, verwenden Sie Module zum Organisieren von Dateien
  • Jede „.py“-Datei ist ein Modul.
  • Importieren Sie Module mit dem Schlüsselwort „import“:
import file_name
print(file_name)

pycache

– Beim Import generiert Python einen pycache-Ordner, der kompilierte Versionen von Modulen für eine schnellere Ausführung enthält - Pycache wird jedes Mal erstellt, wenn wir eine Datei mit Importanweisungen ausführen - Anstatt das Dienstprogramm py zu laden, wird die kompilierte Version des Dienstprogramms geladen

Pakete

  • Ein Paket ist ein Ordner, der mehrere Module enthält.

  • Syntax importieren:

import package_name.module_name
from package_name.subpackage_name import func_name

In PyCharm wird beim Erstellen eines Pakets automatisch eine init.py-Datei hinzugefügt. Pakete können in anderen Paketen verschachtelt werden. - Sie können ein neues Paket innerhalb eines Pakets erstellen, die Datei innerhalb eines Pakets umgestalten oder ein Paket verschieben, um eine Datei zu verschieben - Um ein Paket oder eine Paketdatei zu importieren Paketname.Paketname.Modulname importieren

oder

Syntax: from package_name.subpackage_name import func_name print(func(argument))

aus Paketname importiere func_name1, func_name2 from package_name import * [(*) steht für alle]

Dateien werden als Skripte ausgeführt und nicht importiert – Python-Sets

  • Mit der IDE können wir tatsächlich eine Schnelldokumentation auswählen und anzeigen indem Sie den Text auswählen > Ansicht > Schnelldokumentation

Das name == „main“ Idiom

– Wenn eine Datei direkt ausgeführt wird, setzt Python name == „main“. - Wenn Sie möchten, dass eine Datei nur als Modul fungiert, stellen Sie sicher, dass sie importiert (nicht ausgeführt) wird.

  • Der Name main wird speziell für die Datei vergeben, die wir ausführen. – Dies wird verwendet, wenn Sie nur die Hauptdatei ausführen möchten
if __name__ == '__main__':
    do something()

Diese Zeilen sehen Sie, wenn wir sicherstellen wollen, dass wir ein Modul nur dann ausführen, wenn es sich um das Hauptmodul handelt.
Möglicherweise haben wir Code, den wir nicht ausführen möchten, es sei denn, es handelt sich um die Hauptdatei.

Externe Pakete & Pip

(GitHub ist ein soziales Netzwerk für Programmierer. Leute können Ihren Code ansehen und herunterladen. Um zu wissen, wie beliebt ein Paket ist, wird es durch Sterne (Gefällt mir) oder Gabeln (Kopie) erkannt.)

pip ist ein Python-Paketinstallationsprogramm

In PyCharm

  • Gehen Sie zu Einstellungen > Python-Interpreter > +-Zeichen > Paket suchen > Paket installieren
  • Um das installierte Paket zu importieren, verwenden Sie die Importanweisung

Über das Terminal

Installieren Sie ein Paket PIP-Installationspaketname

Um alle installierten Pakete anzuzeigen Pip-Liste

Paket deinstallieren pip deinstalliert Paketname

Upgrade-Paket pip install --upgrade Paketname

Überprüfen Sie die Pip-Version pip -V

Durchgangsversion pip install package_name==version_number

Integrierte Python-Module

  • Python verfügt über eine umfangreiche Standardbibliothek. – Diese Module wurden tatsächlich installiert, als wir den Python-Interpreter heruntergeladen haben.
from array import array
from collections import Counter, defaultdict, OrderedDict

import datetime
import sys
import random

help(random)           #shows what it does
print(dir(random))     #lists out all the methods

Eine gute Vorgehensweise besteht darin, nur das zu importieren, was Sie benötigen.

from random import shuffle,...,etc

Ändert den Namen von random in einen anderen Namen und kann beim Schreiben des Codes aufgerufen werden.

import random as AnyName

Beispiel:

Zufälliges Modul

print(random.random())                  # float between 0 and 1
print(random.randint(1, 10))            # integers from the criteria
print(random.choice([1, 2, 3, 4, 5]))   # random element from the iterator list
myList = [1, 2, 3, 4, 5]
random.shuffle(myList)          # shuffles the variable given
print(myList)
import random
# Useful Tip: You can also change the name when you import it, like:
# import random as AnyName
# Or import only what you need: from random import shuffle

# This gives you information and documentation about how to use the module:
# help(random)

print(random.random())        # Gives you a random decimal number between 0 and 1
print(random.randint(1, 10))   # Gives you a random whole number between 1 and 10
print(random.choice([1,2,3,4,5])) # Picks one random item out of this list

# Shuffling a list
myList = [1, 2, 3, 4, 5]
random.shuffle(myList)        # Mixes up the items in your list randomly
print(myList)

# If you want to read what a function does quickly inside your IDE (like PyCharm or VS Code), 
# Highlight the word with your mouse and go to View > Quick Documentation.

Sys-Modul

Es kommuniziert mit dem Terminal, während wir die Argumente angeben

sys.argv

first = sys.argv[1]
second = sys.argv[2]

print(f'hello, {first} {second} ')

IM TERMINAL

python3 file.py marwa abubaker (Argumente)
Hallo, Marwa Abubaker (Ausgabe)

Nützliche Module in Python

Python bietet verschiedene Arten von Modulen und Datentypen, die häufig verwendet werden:

  • Eingebaute Datentypen
    Beispiele: „int“, „str“, „list“, „dict“ usw.
    Diese sind standardmäßig in Python verfügbar.

  • Benutzerdefinierte Datentypen
    Erstellt mit Klassen in der objektorientierten Programmierung (OOP).
    Beispiel: Definieren Sie Ihre eigene Klasse „Auto“ oder „Mitarbeiter“.

  • Spezialisierte Datentypen (Sammlungsmodul)

  • „Zähler“ → zählt das Vorkommen von Elementen.
  • defaultdict → stellt Standardwerte für fehlende Schlüssel bereit.
  • „OrderedDict“ → merkt sich die Reihenfolge der Einfügung.

PYTHON-MODULE (häufig verwendet)

Sammlungsmodul

from collections import Counter

li = [1, 2, 3, 4, 5, 6, 7, 7]
print(Counter(li))        # counts the occurence
# creates a counter object that is a subclass of dict
sentence = 'hello hello hi hi hi'
print(Counter(sentence))  # counts the occurence of each character

Standarddict Wenn der nicht gefundene Schlüssel den Standardwert zurückgibt, sollte der erste Parameter eine Funktion oder ein Datentyp wie int sein.

from collections import defaultdict, OrderedDict

dd = defaultdict(lambda: 5, {'a': 1, 'b': 2})
print(dd['c'])     # prints 5 instead of key error

d = OrderedDict()  # keeps the order of insertion
d['a'] = 1
d['b'] = 2

d1 = OrderedDict()
d1['b'] = 2
d1['a'] = 1
print(d == d1)     # false because order matters in orderedDict

OrderedDict - Wenn wir ein normales Diktat verwenden, wäre dies wahr, da die Reihenfolge im normalen Wörterbuch keine Rolle spielt. - OrderedDict ist nützlich, wenn Sie sicherstellen möchten, dass die Reihenfolge der Einfügung wichtig ist.

Datetime-Modul

import datetime

print(datetime.time(5, 45, 2))  # time(hour, minute, second, microsecond)
print(datetime.date.today())    # current date

Array-Modul

  • Sie sind nützlich, wenn wir große Datenmengen speichern möchten und weniger Speicherplatz benötigen.
arr = array('i', [1, 2, 3, 4, 5])  # array(typecode, initializer)
print(arr)                         # can be accessed like a list
print(arr.typecode)                # prints the typecode of the array