Typisierung in Python

avatar

Python ist eine Skriptsprache mit einer dynamischen Typisierung. Mit anderen Worten, vor einer Variable wird kein Datentyp angegeben.
Allerdings kann man seit Python3.6 die Datentypen mit angeben. Doch warum ist das so und muss man nun die Datentypen mit angeben?

Die Funktion add_dynamic soll zwei Datentypen addieren und irgend ein Datentyp zurückgeben. Vor Python3.6 musste man sich darüber keine Gedanken machen, und um es vorweg zu nehmen, heute auch nicht. Denn es funktioniert wie gewohnt.

Die Funktion add_explicit soll als erstes Argument ein integer oder ein float annehmen und das zweite Argument soll ein integer sein. Der Rückgabetyp der Funktion soll entweder ein integer oder ein float sein. Allerdings ist die Angabe der Datentypen nicht bindend, denn nach wie vor ist Python eine Skriptsprache mit einer dynamischen Typisierung.

Der Grund für diese explizite Angabe eines Datentyps soll nur eine Hilfestellung sein und ist bis auf eine Ausnahme optional. Das kann nützlich sein, um z.B. in der Dokumentation nachzulesen, welche Datentypen erwartet werden, um eine korrekte Funktionsweise zu garantieren.

Nun zur Ausnahme: Diese werdet ihr in dem nächsten Beitrag sehen, denn bei diesem coolen Feature müssen (Stand Python3.10) die Datentypen explizit angegeben werden. Es führt also kein Weg drum herum ;)

Python3 Code

def add_dynamic(x, y):
    return x+y


def add_explicit(x : int|float, y : int) -> int|float:
    return x+y


if __name__ == '__main__':
    # the common way
    a = 5
    b = 9
    result1 = add_dynamic(a,b)
    print(result1)

    # the 'explicit' way
    # name : datatype = value
    c : int = 5
    d : float = 3.5
    result2 : float = add_explicit(c,d)
    print(result2)



0
0
0.000
0 comments