Virtual environments in Python erstellen

In diesem Betriag erkläre ich das Erstellen von virtual environments in Python und welche Vorteile diese mit sich bringen.

Anlegen von virtual environments in Python

Eine neue virtuelle Umgebung erstellt man mit Python entweder über virtualenv (für Python 2.x und auch Python3.x) oder über das seit Python3.3 vorhandene venv Modul.

    christian@ubuntu:~$ python3 -m pip install --user virtualenv

    christian@ubuntu:~$ virtualenv venv2.7 -p python2.7
    Running virtualenv with interpreter /usr/bin/python2.7
    Already using interpreter /usr/bin/python2.7
    New python executable in /home/christian/venv2.7/bin/python2.7
    Also creating executable in /home/christian/venv2.7/bin/python
    Installing setuptools, pip, wheel...
    done.

    christian@ubuntu:~$ virtualenv venv
    Using base prefix '/usr'
    New python executable in /home/christian/venv/bin/python3.6
    Also creating executable in /home/christian/venv/bin/python
    Installing setuptools, pip, wheel...
    done.

    christian@ubuntu:~$ python3.8 -m venv my_venv    

„Virtual environments in Python erstellen“ weiterlesen

Python dataclasses in Beispielen erklärt

Seit Python Version 3.7 gibt es ein neues Modul für spezielle Daten-Klassen, die dataclasses.

https://docs.python.org/3.7/library/dataclasses.html

@dataclass decorator für eine Klasse benutzen

Mit dem dataclass decorator ergeben sich viele neue Möglichkeiten Daten-Klassen basierend auf ihren Klassenvariablen zu erzeugen. Ein entsprechender decorator markiert eine Klasse als dataclass. Damit wird dafür gesorgt, dass automatisch eine __init__() Methode erzeugt wird, die die Klassenvariablen als Argumente enthält. Sind die Klassenvariablen mit entsprechenden Typen annotiert, erfolgt auch automatisch eine Prüfung in der IDE.

pycharm zeigt eine Warnung wenn der Typ der Variable nicht mit dem definierten Typ übereinstimmt

Ein einfaches Beispiel zeigt, wie eine dataclass benutzt werden kann.

from dataclasses import dataclass


@dataclass
class Car:
    manufacturer: str = None
    model: str = None
    color: str = None
    length: float = None
    seats: int = None
    is_suv: bool = None


def main():
    new_car = Car(
        manufacturer="Tesla",
        model="Model X",
        color="blue",
        length=5.0,
        seats=5,
        is_suv=True,
    )
    print(new_car)
    if new_car.is_suv:
        print(f"{new_car.manufacturer} {new_car.model} is a SUV")
„Python dataclasses in Beispielen erklärt“ weiterlesen

Python List Comprehension erstellen

Im folgenden Beitrag erkläre ich Python List Comprehension als Methode um Listen effektiv und mit wenig Code zu erstellen. Grundlage bilden hierbei immer andere iterierbare Objekte, wie Listen oder Dictionaries.

Wie man durch Listen iterieren kann oder auf Elemente einer Liste zugreift, erkläre ich im Artikel Python Listen erstellen und bearbeiten

List Comprehension erstellen

Eine List Comprehensionist immer eine Liste, die einen Ausdruck, eine Schleife und gegebenenfalls mehrere weitere Schleifen oder Bedingungen enthält.

Ein einfaches Beispiel, in dem die Werte der ursprünglichen Liste mit 2 multipliziert werden:

>>> numbers = [1,2,3,4,5,6]
>>> numbers_times_2 = [x*2 for x in numbers]
>>> numbers_times_2
[2, 4, 6, 8, 10, 12]

„Python List Comprehension erstellen“ weiterlesen