logo

Pretvorba tipa u Pythonu

Pretvorba tipa znači promjenu tipa podataka vrijednosti. Na primjer pretvaranje cijelog broja (5) u float (5.0) ili niza ('10') u cijeli broj (10). U Pythonu postoje dvije vrste pretvorbe tipa:

  1. Implicitna pretvorba: Python sam mijenja vrstu podataka tijekom izvođenja koda kako bi izbjegao pogreške ili gubitak podataka.
  2. Eksplicitna konverzija: Tip podataka namjerno mijenjate pomoću funkcija poput int() float() ili str().

Implicitna pretvorba tipa

U implicitna pretvorba Python automatski pretvara jedan tip podataka u drugi tijekom procjene izraza. To se obično događa kada se manji tip podataka kao što je int kombinira s većim kao što je float u operaciji. Primjer:

Python
x = 10 # Integer y = 10.6 # Float z = x + y print('x:' type(x)) print('y:' type(y)) print('z =' z) print('z :' type(z)) 

Izlaz
x:  y:  z = 20.6 z :  

Objašnjenje: x je cijeli broj i i je plovak. U z = x + y Python automatski pretvara x plutati kako bi se izbjegao gubitak podataka S plovak 0,6.



Eksplicitna pretvorba tipa

Eksplicitna konverzija (ili pretvaranje tipa) je kada ručno pretvorite tip podataka vrijednosti koristeći Python ugrađene funkcije . Ovo je korisno kada želite kontrolirati kako se podaci tumače ili manipuliraju u vašem kodu. Neke uobičajene funkcije pretvaranja tipa uključuju:

  • int() pretvara vrijednost u cijeli broj
  • float() pretvara vrijednost u broj s pomičnim zarezom
  • str() pretvara vrijednost u niz
  • bool() pretvara vrijednost u Booleovu (točno/netočno)

Primjer:

Python
s = '100' # String a = int(s) print(a) print(type(a)) 

Izlaz
100  

Objašnjenje: a = int(s) eksplicitno ga pretvaramo u cijeli broj. Ova ručna promjena tipa naziva se eksplicitna pretvorba tipa i a postaje 100 tipa.

Primjeri uobičajenih funkcija pretvorbe tipa

Primjer 1: Pretvaranje binarnog niza

Python
s = '10010' a = int(s 2) print(a) b= float(s) print(b) 

Izlaz
18 10010.0 

Obrazloženje:

  • int(s 2) tumači binarni niz '10010' kao cijeli broj 18.
  • plovak(i) pretvara niz u broj s pomičnim zarezom.

Primjer 2: ASCII heksadecimalna i oktalna konverzija

Python
c = '4' print('ASCII of '4':' ord(c)) print('56 in Hex:' hex(56)) print('56 in Octal:' oct(56)) 

Izlaz
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70 

Obrazloženje:

  • riječ(i) vraća ASCII kod znaka '4'.
  • hex() i listopad() pretvoriti cijeli broj 56 u njegove heksadecimalne i oktalne prikaze.

Primjer 3 : Niz u tuple set i popis

Python
s = 'geeks' print('To tuple:' tuple(s)) print('To set:' set(s)) print('To list:' list(s)) 

Izlaz
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] 

Obrazloženje:

  • tuple(s) održava redom sve znakove uključujući duplikate.
  • set(ovi) uklanja duplikate i vraća nesređenu zbirku.
  • popis(i) vraća popis znakova iz niza.

Primjer 4: Ostale pretvorbe – Rječnik složenih nizova

Python
a = 1 tup = (('a' 1) ('f' 2) ('g' 3)) print('To complex:' complex(1 2)) print('To string:' str(a)) print('To dict:' dict(tup)) 

Izlaz
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} 

Obrazloženje:

  • kompleks(1 2) stvara kompleksan broj s realnim dijelom 1 i imaginarnim dijelom 2.
  • str(a) pretvara cijeli broj 1 u niz '1'.
  • dict(tup) stvara rječnik iz niza torki ključ-vrijednost.
Napravi kviz