logo

Kirjoita Pythonissa muunnos

Tyyppimuunnos tarkoittaa arvon tietotyypin muuttamista. Esimerkiksi muunnetaan kokonaisluku (5) floatiksi (5.0) tai merkkijono ('10') kokonaisluvuksi (10). Pythonissa on kahdenlaisia ​​tyyppimuunnoksia:

  1. Implisiittinen muunnos: Python muuttaa tietotyyppiä itse koodin suorittamisen aikana virheiden tai tietojen katoamisen välttämiseksi.
  2. Selkeä muunnos: Muutat tietotyyppiä tarkoituksella käyttämällä funktioita, kuten int() float() tai str().

Implisiittisen tyypin muunnos

sisään implisiittinen muuntaminen Python muuntaa automaattisesti yhden tietotyypin toiseksi lausekkeen arvioinnin aikana. Tämä tapahtuu yleensä, kun operaatiossa yhdistetään pienempi tietotyyppi, kuten int, suurempaan, kuten float. Esimerkki:

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

Lähtö
x:  y:  z = 20.6 z :  

Selitys: x on kokonaisluku ja ja on kelluke. sisään z = x + y Python muuntaa automaattisesti x kellumaan tietojen menettämisen välttämiseksi Kanssa kelluva 0,6.



Eksplisiittisen tyypin muunnos

Selkeä muunnos (tai tyypin casting) on, kun muunnat arvon tietotyypin manuaalisesti Pythonin avulla sisäänrakennetut toiminnot . Tämä on hyödyllistä, kun haluat hallita, kuinka tietoja tulkitaan tai käsitellään koodissasi. Joitakin yleisiä valutoimintoja ovat:

  • int() muuntaa arvon kokonaisluvuksi
  • kellua() muuntaa arvon liukulukuksi
  • str() muuntaa arvon merkkijonoksi
  • bool() muuntaa arvon Boolen arvoksi (tosi/epätosi)

Esimerkki:

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

Lähtö
100  

Selitys: a = int(s) muunnamme sen eksplisiittisesti kokonaisluvuksi. Tätä manuaalista tyypin muutosta kutsutaan nimenomaiseksi tyypin muunnokseksi, ja a:sta tulee 100.

Esimerkkejä yleisistä tyyppimuunnosfunktioista

Esimerkki 1: Binäärimerkkijonon muuntaminen

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

Lähtö
18 10010.0 

Selitys:

  • int(s 2) tulkitsee binäärimerkkijonon '10010' kokonaisluvuksi 18.
  • kellua(t) muuntaa merkkijonon liukulukuksi.

Esimerkki 2: ASCII-heksadesimaali- ja oktaalimuunnos

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

Lähtö
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70 

Selitys:

  • sana(t) palauttaa merkin '4' ASCII-koodin.
  • hex() ja lokakuu() muuntaa kokonaisluvun 56 sen heksadesimaali- ja oktaaliesitysmuodoiksi.

Esimerkki 3 : Merkkijono monikkojoukkoon ja listaan

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

Lähtö
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] 

Selitys:

  • monikko(t) pitää kaikki merkit, myös kaksoiskappaleet, järjestyksessä.
  • sarja(t) poistaa kaksoiskappaleet ja palauttaa järjestämättömän kokoelman.
  • luettelo(t) palauttaa merkkiluettelon merkkijonosta.

Esimerkki 4: Muut muunnokset – monimutkainen merkkijonosanakirja

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

Lähtö
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} 

Selitys:

  • monimutkainen (1 2) luo kompleksiluvun, jossa on reaaliosa 1 ja imaginaariosa 2.
  • str(a) muuntaa kokonaisluvun 1 merkkijonoksi '1'.
  • sanelu (tup) luo sanakirjan joukosta avainarvotupioita.
Luo tietokilpailu