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:
- Implicitna pretvorba: Python med izvajanjem kode sam spremeni vrsto podatkov, da prepreči napake ali izgubo podatkov.
- 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:
Pythonx = 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:
Pythons = '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
Pythons = '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
Pythonc = '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
Pythons = '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
Pythona = 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.