Prevod typu Python a odlievanie typu (s príkladmi)

V tomto článku sa dozviete viac o prevode typov a použitiach prevodu typov.

Predtým, ako sa naučíte prevody typov v Pythone, mali by ste mať znalosti o dátových typoch Pythonu.

Konverzia typu

Proces prevodu hodnoty jedného údajového typu (celé číslo, reťazec, float atď.) Na iný údajový typ sa nazýva prevod typu. Python má dva typy prevádzania typov.

  1. Implicitná konverzia typu
  2. Explicitná konverzia typu

Implicitná konverzia typu

Pri implicitnej konverzii typu Python automaticky prevádza jeden dátový typ na iný dátový typ. Tento proces nevyžaduje žiadne zapojenie používateľov.

Pozrime sa na príklad, keď Python podporuje konverziu nižšieho dátového typu (celé číslo) na vyšší dátový typ (float), aby sa zabránilo strate údajov.

Príklad 1: Prevod 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))

Keď spustíme vyššie uvedený program, výstup bude:

 datový typ num_int: dátový typ num_flo: Hodnota num_new: 124,23 datový typ num_new: 

Vo vyššie uvedenom programe

  • Pridáme dve premenné num_int a num_flo, ktoré ukladajú hodnotu do num_new.
  • Pozrime sa na dátový typ všetkých troch objektov.
  • Na výstupe vidíme údajový typ num_int je integerchvíľu, zatiaľ čo údajový typ num_flo je a float.
  • Vidíme tiež, že num_new má floatdátový typ, pretože Python vždy prevádza menšie dátové typy na väčšie dátové typy, aby nedošlo k ich strate.

Teraz skúsme pridať reťazec a celé číslo a pozrime sa, ako sa s nimi Python vysporiada.

Príklad 2: Pridanie reťazca (vyšší) dátového typu a celého čísla (nižší) dátové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)

Keď spustíme vyššie uvedený program, výstup bude:

 Dátový typ num_int: Dátový typ num_str: Traceback (posledný hovor naposledy): Súbor "python", riadok 7, v TypeError: nepodporované typy operandov pre +: 'int' a 'str'

Vo vyššie uvedenom programe

  • Pridáme dve premenné num_int a num_str.
  • Ako vidíme z výstupu, dostali sme sa TypeError. Python nie je schopný v takýchto podmienkach použiť implicitnú konverziu.
  • Python má však riešenie pre tieto typy situácií, ktoré je známe ako Explicit Conversion.

Explicitná konverzia typu

V nástroji Explicit Type Conversion používatelia prevádzajú údajový typ objektu na požadovaný údajový typ. Používame preddefinovaných funkcií, ako je int(), float(), str()atď vykonať explicitné prevod typu.

Tento typ konverzie sa nazýva aj obsadenie typom, pretože používateľ vrhá (mení) dátový typ objektov.

Syntax:

 (výraz)

Typové obsadenie je možné vykonať priradením požadovanej funkcie dátového typu k výrazu.

Príklad 3: Pridanie reťazca a celého čísla pomocou explicitnej konverzie

 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))

Keď spustíme vyššie uvedený program, výstup bude:

 Dátový typ num_int: Dátový typ num_str pred odovzdaním typu: Dátový typ num_str po odovzdaní typu: Súčet num_int a num_str: 579 Dátový typ súčtu: 

Vo vyššie uvedenom programe

  • Pridáme premennú num_str a num_int.
  • Pomocou int()funkcie na vykonanie sčítania sme pomocou funkcie vykonali konverziu num_str z reťazca (vyšší) na celé číslo (nižší) .
  • Po prevode num_str na celočíselnú hodnotu je Python schopný pridať tieto dve premenné.
  • Hodnotu num_sum a dátový typ sme dostali ako celé číslo.

Kľúčové body, ktoré si treba pamätať

  1. Konverzia typu je konverzia objektu z jedného dátového typu na iný dátový typ.
  2. Implicitná konverzia typu je automaticky vykonávaná interpretom Pythonu.
  3. Python sa vyhne strate údajov pri implicitnej konverzii typov.
  4. Explicitná konverzia typu sa tiež nazýva Type Casting, dátové typy objektov sa prevádzajú pomocou preddefinovaných funkcií používateľom.
  5. Pri prenášaní typu môže dôjsť k strate údajov, keď objekt presadíme do konkrétneho dátového typu.

Zaujímavé články...