Python Casting

×Skrýt obsah

Výukový program Python

Naučte se Python

Jste připraveni začít svou kariéru v Data? Zjistěte více o BrainStation's Kurz Python

Přetypování nebo převod typu v Pythonu umožňuje přetypování nebo převod jedné hodnoty na jinou. Obecně se typové odlévání nebo konverze dělí na dvě části:



  • Implicitní typ casting/konverze
  • Explicitní typové obsazení/konverze

Podívejme se podrobně na každý typ odlitku.



Implicitní typ casting/konverze

Implicitní přetypování nebo konverzi typu provádí Python Interpreter. Některé klíčové body, které je třeba mít na paměti ohledně implicitního přetypování nebo konverze, jsou:

  • Casting nebo konverzi typu provádí Python Interpreter automaticky
  • Python Interpreter provede implicitní konverzi nebo přetypování pouze tehdy, když nedojde ke ztrátě dat
  • Python Interpreter provede implicitní konverzi nebo přetypování pouze v případě, že jsou oba příslušné typy kompatibilní pro přetypování.

Podívejme se na několik příkladů převodu implicitního typu nebo přetypování. V níže uvedeném příkladu máme dvě proměnné, jednu typu integer a druhou typu float. Float je považován za vyšší datový typ, protože umožňuje větší rozsah hodnot ve srovnání s celočíselným typem. Když se tedy pokusíme sečíst dvě čísla, každé typu float a integer, výsledné číslo je vždy vyššího datového typu – v tomto případě float. Je tomu tak proto, aby nedocházelo ke ztrátě dat nebo informací, protože celočíselné hodnoty mohou být stále přizpůsobeny typům float.



Poznámka: používáme |_+_| metoda pro kontrolu datového typu dané proměnné

V tomto případě byly obě zahrnuté proměnné čísla a bylo možné implicitní typové obsazení. Někdy je však potřeba explicitně přetypovat hodnoty mezi nekompatibilními datovými typy, jako jsou řetězce a čísla. Python Interpreter nemůže implicitně převádět hodnoty a vyvolá chybu, jak je uvedeno níže.

V takovém případě použijeme explicitní převod typu nebo přetypování.



Explicitní typové obsazení/konverze

Explicitní přetypování je užitečné, když Python Interpreter nemůže implicitně převádět mezi typy např. řetězce k číslům. V tomto používáme vestavěné metody castingu jako |_+_|, |_+_|, str()` atd. k převodu jednoho typu na jiný.

V níže uvedeném příkladu nejprve explicitně přeneseme stringified number do float pomocí |_+_| a poté sečtěte čísla.

Kategori: Zprávy