Öt perc alatt megtanulhatja az írást a Pythonban

Összeomlási tanfolyam a Typecasting és a Type konverzióról a Pythonban, nagyon nem bőbeszédű módon

TypeCasting

Az egyik adattípus másik adattípussá történő átalakításának folyamatát Typecasting vagy Type kényszer vagy Type Conversion néven hívják .

Ebben a cikkben a következőkre fogok összpontosítani:

  1. Implicit típusú konverzió
  2. Kifejezett típusú konverzió
  3. Előnyök
  4. Hátrányok

Implicit típusú konverzió

Amikor a tolmács automatikusan végrehajtja a típusátalakítást a programozó beavatkozása nélkül, akkor ezt az átalakítási típust implicit típusátalakításnak nevezzük .

Példa program:

myInt = 143 # Integer value.myFloat = 1.43 # Float value.
myResult = myInt + myFloat # Sum result
print("datatype of myInt:",type(myInt))print("datatype of myFloat:",type(myFloat))
print("Value of myResult:",myResult)print("datatype of myResult:",type(myResult))

Kimenet:

A fenti program kimenete a következő lesz:

datatype of myInt: datatype of myFloat: Value of myResult: 144.43datatype of myResult: 

A fenti programban

  • Két változót adunk hozzá: myInt és myFloat, az értéket a myResult-ban tárolva.
  • Megnézzük mindhárom objektum adattípusát.
  • A kimenetben láthatjuk a myInt is egy integeradattípust, a myFloat adattípusa a float.
  • Láthatjuk továbbá, hogy a myFloat rendelkezik floatadattípussal, mert a Python a kisebb adattípust nagyobb adattípussá alakítja az adatvesztés elkerülése érdekében.

Ezt a típusú konverziót Implicit Type conversion (vagy) UpCasting néven hívják .

Kifejezett típusú konverzió

Az explicit típusú konverzióban a felhasználók egy objektum adattípusát konvertálják a szükséges adattípusra. Előre definiált beépített funkciókat használunk, például:

  1. int ()
  2. úszó()
  3. összetett()
  4. bool ()
  5. str ()

Az explicit típusú konverzió szintaxisa:

(required_datatype)(expression)

Ezt a konverziótípust explicit típusú konverziónak (vagy) DownCasting-nek hívják .

Int Conversion

Ezzel a függvénnyel más típusú értékeket konvertálhatunk int-re.

Például:

>>> int(123.654)123
>>>int(False)0
>>> int("10")10
>>> int("10.5")ValueError: invalid literal for int() with base 10: '10.5'
>>> int("ten")ValueError: invalid literal for int() with base 10: 'ten'
>>> int("0B1111")ValueError: invalid literal for int() with base 10: '0B1111'
>>> int(10+3j)TypeError: can't convert complex to int

Jegyzet:

  1. Nem lehet konvertálni az összetett adattípust int-be
  2. Ha a karakterlánc típusát konvertálni kívánja, akkor a string literálnak tartalmaznia kell az Base-10 értékét

Úszó konverzió

Ezzel a funkcióval bármilyen adattípust lebegőpontos számokká alakíthatunk .

Például:

>>> float(10) 10.0
>>> float(True)1.0
>>> float(False)0.0
>>> float("10")10.0
>>> float("10.5")10.5
>>> float("ten")ValueError: could not convert string to float: 'ten'
>>> float(10+5j)TypeError: can't convert complex to float
>>> float("0B1111")ValueError: could not convert string to float: '0B1111'

Jegyzet:

  1. Átkonvertálhatja a komplex típust lebegő típusú értékre.
  2. Ha a karakterlánc típusát úszó típusra kívánja konvertálni, akkor a string literálnak tartalmaznia kell az alap-10 értéket.

Komplex átalakítás

Ez a funkcióa valós számok komplex (valós, képzelt) számokká való átalakítására szolgál .

1. forma: komplex (x)

Használhatja ezt a függvényt egyetlen érték komplex számgá konvertálására, valódi x és képzeletbeli 0 résszel.

Például:

>>> complex(10)10+0j
>>> complex(10.5)10.5+0j
>>> complex(True)1+0j
>>> complex(False)0+0j
>>> complex("10")10+0j
>>> complex("10.5")10.5+0j
>>> complex("ten")ValueError: complex() arg is a malformed string

2. forma: komplex (x, y)

Ha X-et és Y-t olyan komplex számra kívánja alakítani, hogy X valós rész, Y pedig képzelt rész lesz.

Például:

>>> complex(10,-2)10-2j
>>> complex(True, False)1+0j

Logikai konverzió

Ezzel a funkcióval bármilyen adattípust könnyen konvertálhat logikai adattípussá. Ez a Python legrugalmasabb adattípusa.

Például:

>>> bool(0)False
>>> bool(1)True
>>> bool(10)True
>>> bool(0.13332)True
>>> bool(0.0)False
>>> bool(10+6j)True
>>> bool(0+15j)True
>>> bool(0+0j)False
>>> bool("Apple")True
>>> bool("")False
Megjegyzés: A Bool funkció segítségével bármilyen típusú adattípust konvertálhat logikai értékre, és a kimenet a következő lesz: A 0, 0 + 0j és az Üres karakterlánc kivételével minden értékre igaz lesz.

Karakterlánc-átalakítás

Ezzel a függvénnyel bármilyen típust karakterlánccá alakíthatunk.

Például:

>>> str(10)'10'
>>> str(10.5)'10.5'
>>> str(True)'True'
>>> str(False)'False'
>>> str(10+5j)'10+5j'
>>> str(False)'False'

Példa program:

integer_number = 123 # Intstring_number = "456" # String
print("Data type of integer_number:",type(integer_number))print("Data type of num_str before Type Casting:",type(num_str))
string_number = int(string_number)print("Data type of string_number after Type Casting:",type(string_number))
number_sum = integer_number + string_number
print("Sum of integer_number and num_str:",number_sum)print("Data type of the sum:",type(number_sum))

Kimenet:

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

Data type of integer_number: Data type of num_str before Type Casting: Data type of string_number after Type Casting: Sum of integer_number and num_str: 579Data type of the sum: 

A fenti programban

  • Hozzáadjuk a string_number és az integer_number változót.
  • A string_number karakterláncot (magasabb) egész (alacsonyabb) típusba konvertáltuk a int()függvény segítségével az összeadás végrehajtásához.
  • After converting string_number to an integer value Python adds these two variables.
  • We got the number_sum value and data type to be an integer.

Advantages Of Typecasting

  1. More convenient to use

Disadvantages Of Typecasting

  1. More complex type system
  2. Source of bugs due to unexpected casts

I covered pretty much everything that is required to perform any type of typecasting operation in Python3.

Hope this helped you learn about Python Typecasting in a quick and easy way.

If you liked this article please click on the clap and leave me your valuable feedback.