Python típusátalakítás és típusválogatás (példákkal)

Ebben a cikkben megismerheti a Type konverziót és a típus konverzió használatát.

Mielőtt megtanulná a Type Conversion programot a Pythonban, ismernie kell a Python adattípusokat.

Írja be a konverziót

Az egyik adattípus (egész szám, karakterlánc, lebegő stb.) Értékének egy másik adattípussá történő átalakításának folyamatát konverziónak nevezzük. A Python kétféle típusú konverzióval rendelkezik.

  1. Implicit típusú konverzió
  2. Kifejezett típusú konverzió

Implicit típusú konverzió

Az Implicit típuskonvertálás során a Python automatikusan konvertálja az egyik adattípust egy másik adattípussá. Ez a folyamat nem igényel felhasználói beavatkozást.

Lássunk egy példát, ahol a Python elősegíti az alacsonyabb adattípus (egész szám) átalakítását a magasabb adattípussá (lebegő) az adatvesztés elkerülése érdekében.

1. példa: Egész szám átalakítása lebegővé

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

A fenti program futtatásakor a kimenet a következő lesz:

 num_int adattípus: num_flo adattípus: num_new értéke: 124.23 num_new adattípusa: 

A fenti programban

  • Két változót adunk hozzá: num_int és num_flo, az értéket a num_new-ben tároljuk.
  • Megnézzük mindhárom objektum adattípusát.
  • A kimenetben láthatjuk, hogy a num_int adattípusa egy, integermíg a num_flo adattípusa a float.
  • Azt is láthatjuk, hogy a num_new rendelkezik floatadattípussal, mert a Python mindig kisebb adattípusokat alakít át nagyobb adattípusokká az adatvesztés elkerülése érdekében.

Most próbáljuk meg hozzáadni egy karakterláncot és egy egész számot, és nézzük meg, hogyan foglalkozik vele a Python.

2. példa: Karakterlánc (magasabb) adattípus és egész (alacsonyabb) adattípus hozzáadása

 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)

A fenti program futtatásakor a kimenet a következő lesz:

 A num_int adattípusa: num_str adattípusa: Traceback (a legutóbbi hívás utoljára): "Python" fájl, 7. sor, a TypeError-ban: nem támogatott operandus típus (ok) a +: 'int' és 'str' elemekhez

A fenti programban

  • Két változót adunk hozzá: num_int és num_str.
  • Amint a kimenetből láthatjuk, meg is kaptuk TypeError. A Python ilyen körülmények között nem tudja használni az implicit átalakítást.
  • A Pythonnak azonban van egy megoldása az ilyen típusú helyzetekre, amelyet Explicit Conversion néven ismerünk.

Kifejezett típusú konverzió

Az explicit típusú konverzióban a felhasználók egy objektum adattípusát konvertálják a kívánt adattípusra. Az általunk használt előre definiált funkciókat, mint int(), float(), str()stb, hogy végre explicit típus-átalakítás.

Ezt a fajta konverziót typecastingnak is nevezik, mert a felhasználó leadja (megváltoztatja) az objektumok adattípusát.

Szintaxis:

 (kifejezés)

A típusírás kivitelezhető a kívánt adattípus függvény hozzárendelésével a kifejezéshez.

3. példa: Karaktersorozat és egész hozzáadása explicit konverzióval

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

A fenti program futtatásakor a kimenet a következő lesz:

 A num_int adattípusa: num_str adattípusa a Type Casting előtt: A num_str adattípusa a Type Casting után: A num_int és a num_str összege: 579 Az összeg adattípusa: 

A fenti programban

  • Hozzáadjuk a num_str és a num_int változót.
  • A szám_str karakterláncból (magasabb) egész (alacsonyabb) típusba konvertáltuk a int()függvény segítségével az összeadás elvégzéséhez.
  • A num_str egész számra konvertálása után a Python hozzá tudja adni ezt a két változót.
  • A num_sum értéket és az adattípust egész számnak kaptuk.

Kulcsfontosságú megjegyzendő pontok

  1. A Type Conversion az objektum egyik adattípusból egy másik adattípusba való átalakítása.
  2. Az implicit típusú konverziót a Python tolmács automatikusan elvégzi.
  3. A Python elkerüli az adatok elvesztését az Implicit Type Conversion alkalmazásban.
  4. Az explicit típusú konverziót más néven Type Castingnek nevezik, az objektumok adattípusait a felhasználó előre definiált függvények segítségével alakítja át.
  5. A Type Casting során adatvesztés léphet fel, amikor az objektumot egy adott adattípusra kényszerítjük.

érdekes cikkek...