Převod typu Pythonu a odlévání typu (s příklady)

V tomto článku se dozvíte o převodu typu a použití převodu typu.

Než se naučíte převádění typů v Pythonu, měli byste mít znalosti o datových typech Pythonu.

Převod typu

Proces převodu hodnoty jednoho datového typu (celé číslo, řetězec, float atd.) Na jiný datový typ se nazývá převod typu. Python má dva typy převodu typů.

  1. Implicitní převod typu
  2. Explicitní převod typu

Implicitní převod typu

V převodu implicitního typu Python automaticky převádí jeden datový typ na jiný datový typ. Tento proces nevyžaduje žádnou účast uživatele.

Podívejme se na příklad, kde Python podporuje převod nižšího datového typu (celé číslo) na vyšší datový typ (float), aby nedošlo ke ztrátě dat.

Příklad 1: Převod celého čísla na float

 num_int = 123 num_flo = 1.23 num_new = num_int + num_flo print("datatype of num_int:",type(num_int)) print("datatype of num_flo:",type(num_flo)) print("Value of num_new:",num_new) print("datatype of num_new:",type(num_new))

Když spustíme výše uvedený program, výstup bude:

 datový typ num_int: datový typ num_flo: Hodnota num_new: 124,23 datový typ num_new: 

Ve výše uvedeném programu

  • Přidáme dvě proměnné num_int a num_flo, které ukládají hodnotu do num_new.
  • Podíváme se na datový typ všech tří objektů.
  • Na výstupu vidíme datový typ num_int is an, integerzatímco datový typ num_flo je a float.
  • Také vidíme, že num_new má floatdatový typ, protože Python vždy převádí menší datové typy na větší datové typy, aby nedošlo ke ztrátě dat.

Nyní zkusme přidat řetězec a celé číslo a podívejme se, jak s tím Python zachází.

Příklad 2: Přidání řetězcového (vyššího) datového typu a celočíselného (nižšího) datového typu

 num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str:",type(num_str)) print(num_int+num_str)

Když spustíme výše uvedený program, výstup bude:

 Datový typ num_int: Datový typ num_str: Traceback (poslední hovor poslední): Soubor "python", řádek 7, v TypeError: nepodporované typy operandů pro +: 'int' a 'str'

Ve výše uvedeném programu

  • Přidáme dvě proměnné num_int a num_str.
  • Jak vidíme z výstupu, dostali jsme se TypeError. Python za takových podmínek není schopen použít implicitní převod.
  • Python však má řešení pro tyto typy situací, které se nazývá Explicitní převod.

Explicitní převod typu

V Explicit Type Conversion uživatelé převádějí datový typ objektu na požadovaný datový typ. Používáme předdefinovaných funkcí, jako je int(), float(), str()atd provést explicitní převod typu.

Tento typ převodu se také nazývá typecasting, protože uživatel vrhá (mění) datový typ objektů.

Syntaxe:

 (výraz)

Typecasting lze provést přiřazením požadované funkce datového typu výrazu.

Příklad 3: Přidání řetězce a celého čísla pomocí explicitního převodu

 num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str before Type Casting:",type(num_str)) num_str = int(num_str) print("Data type of num_str after Type Casting:",type(num_str)) num_sum = num_int + num_str print("Sum of num_int and num_str:",num_sum) print("Data type of the sum:",type(num_sum))

Když spustíme výše uvedený program, výstup bude:

 Datový typ num_int: Datový typ num_str před přetypováním: Datový typ num_str po přetypování: Součet num_int a num_str: 579 Datový typ součtu: 

Ve výše uvedeném programu

  • Přidáme proměnnou num_str a num_int.
  • Převedli jsme num_str z řetězce (vyšší) na celé číslo (nižší) pomocí int()funkce k provedení sčítání.
  • Po převodu num_str na celočíselnou hodnotu je Python schopen přidat tyto dvě proměnné.
  • Máme hodnotu num_sum a datový typ jako celé číslo.

Klíčové body k zapamatování

  1. Převod typu je převod objektu z jednoho datového typu na jiný datový typ.
  2. Implicitní převod typu automaticky provádí překladač Pythonu.
  3. Python se vyhne ztrátě dat při implicitní konverzi typu.
  4. Explicitní převod typu se také nazývá Type Casting, datové typy objektů se převádějí pomocí předdefinovaných funkcí uživatelem.
  5. V Type Casting může dojít ke ztrátě dat, když vynucujeme objekt na konkrétní datový typ.

Zajímavé články...