Hlavním problémem typu sjednocení je, že může být obtížné určit, které hodnoty jsou ve sjednocení a které nikoli. To může vést k chybám při pokusu o přístup nebo úpravu dat v unii.
Python does not have a built-in union type, but it is possible to define one using the built-in types. For example: def union(a, b): if a is None: return b elif b is None: return a else: return a + b
To definuje funkci zvanou union, která má dva argumenty, a a b. Pokud je hodnota a žádná, vrátí hodnotu b. Pokud je hodnota b žádná, vrátí hodnotu a. V opačném případě vrátí zřetězení a a b.
Typy unie
V Pythonu existují tři typy sjednocení: průnik, omezení a rozsah.
Průnik nastane, když se kombinují dvě sady a prvky v každé sadě se spojí. Například průsečík seznamu řetězců a seznamu čísel by byl samotný řetězec „seznam“. Omezení je, když jedna sada obsahuje všechny prvky v jiné sadě. Například seznam „a“ obsahuje všechny prvky v seznamu „b“, ale seznam „b“ neobsahuje žádné prvky v seznamu „a“. Rozsah je, když jedna sada obsahuje všechny prvky, které spadají do jiné sady. Například seznam [1, 2] obsahuje každé číslo mezi 1 a 2, ale [3] neobsahuje žádná čísla, protože spadá mimo tento rozsah.
Psaní
Psaní v Pythonu je trochu jiné než psaní v jiných jazycích. V Pythonu nemusíte zadávat celý název klíčového slova nebo funkce. Stačí zadat první písmeno klíčového slova nebo funkce a tlumočník za vás automaticky doplní zbytek názvu.
Pokud byste například chtěli v Pythonu napsat „print“, zadali byste pouze „p“. Interpret pak za vás automaticky vloží „tisk“ do kódu.
Tipy pro psaní
Python má systém tipování typu, který vám umožňuje určit typ výrazu, aniž byste museli použít klíčové slovo type. Například následující kód deklaruje proměnnou s názvem x, která může obsahovat libovolnou celočíselnou hodnotu:
x = 5
Následující kód deklaruje proměnnou s názvem y, která může obsahovat pouze řetězcové hodnoty:
y = "Ahoj"