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.
- Implicit típusú konverzió
- 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,
integer
míg a num_flo adattípusa afloat
. - Azt is láthatjuk, hogy a num_new rendelkezik
float
adattí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
- A Type Conversion az objektum egyik adattípusból egy másik adattípusba való átalakítása.
- Az implicit típusú konverziót a Python tolmács automatikusan elvégzi.
- A Python elkerüli az adatok elvesztését az Implicit Type Conversion alkalmazásban.
- 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.
- A Type Casting során adatvesztés léphet fel, amikor az objektumot egy adott adattípusra kényszerítjük.