logo

Pretvorba tipov v Pythonu

Pretvorba tipa pomeni spreminjanje podatkovnega tipa vrednosti. Na primer pretvorbo celega števila (5) v plavajoče (5.0) ali niza ('10') v celo število (10). V Pythonu obstajata dve vrsti pretvorbe tipov:

  1. Implicitna pretvorba: Python med izvajanjem kode sam spremeni vrsto podatkov, da prepreči napake ali izgubo podatkov.
  2. Eksplicitna pretvorba: Tip podatkov namerno spremenite s funkcijami, kot sta int() float() ali str().

Implicitna pretvorba tipa

noter implicitna pretvorba Python med vrednotenjem izraza samodejno pretvori en podatkovni tip v drugega. To se običajno zgodi, ko se manjši podatkovni tip, kot je int, v operaciji kombinira z večjim, kot je float. primer:

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

Izhod
x:  y:  z = 20.6 z :  

Pojasnilo: x je celo število in in je plovec. notri z = x + y Python samodejno pretvori x lebdeti, da preprečite izgubo podatkov z plovec 0,6.



Eksplicitna pretvorba tipa

Eksplicitna pretvorba (ali ulivanje tipa) je, ko ročno pretvorite podatkovni tip vrednosti z uporabo Pythona vgrajene funkcije . To je koristno, če želite nadzorovati, kako se podatki interpretirajo ali manipulirajo v vaši kodi. Nekatere običajne funkcije za ulivanje tipa vključujejo:

  • int() pretvori vrednost v celo število
  • float() pretvori vrednost v število s plavajočo vejico
  • str() pretvori vrednost v niz
  • bool() pretvori vrednost v logično (True/False)

primer:

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

Izhod
100  

Pojasnilo: a = int(s) eksplicitno pretvorimo v celo število. Ta ročna sprememba tipa se imenuje eksplicitna pretvorba tipa in a postane 100 tipa.

Primeri pogostih funkcij pretvorbe tipov

Primer 1: Pretvarjanje binarnega niza

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

Izhod
18 10010.0 

Pojasnilo:

  • int(s 2) interpretira binarni niz '10010' kot celo število 18.
  • float(s) pretvori niz v število s plavajočo vejico.

Primer 2: Šestnajstiška in osmiška pretvorba ASCII

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

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

Pojasnilo:

  • beseda(e) vrne kodo ASCII znaka '4'.
  • hex() in okt() pretvorite celo število 56 v njegovo šestnajstiško oziroma osmiško predstavitev.

Primer 3 : Niz v Tuple Set in Seznam

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

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

Pojasnilo:

  • tuple(s) ohranja vse znake, vključno z dvojniki, v vrstnem redu.
  • sklop(i) odstrani dvojnike in vrne neurejeno zbirko.
  • seznam(i) vrne seznam znakov iz niza.

Primer 4: Druge pretvorbe – Slovar kompleksnih nizov

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

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

Pojasnilo:

  • kompleks (1 2) ustvari kompleksno število z realnim delom 1 in imaginarnim delom 2.
  • str(a) pretvori celo število 1 v niz '1'.
  • dict(tup) ustvari slovar iz zaporedja naborov ključ-vrednost.
Ustvari kviz