Õppige Pythonis viiekümne minutiga tüpastamist

Typhastingu ja tüüpide teisendamise krahhikursus Pythonis väga mitmetahulisel viisil

TypeCasting

Ühe andmetüübi teisendamist teiseks andmetüübiks nimetatakse Typecasting või Type Coercion või Type Conversion .

Selles artiklis keskendun järgmistele teemadele:

  1. Kaudne tüübikonversioon
  2. Selgesõnaline tüübikonversioon
  3. Eelised
  4. Puudused

Kaudne tüübikonversioon

Kui tõlk teostab tüübi teisendamise automaatselt ilma programmeerija sekkumiseta, nimetatakse seda teisenduse tüüpi kaudseks tüübikonversiooniks .

Näidisprogramm:

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

Väljund:

Eespool nimetatud programmi väljund on:

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

Ülaltoodud programmis

  • Lisame kaks muutujat myInt ja myFloat, salvestades väärtuse myResult.
  • Vaatame vastavalt kõigi kolme objekti andmetüüpi.
  • Väljundis näeme myInt is an integer-tüüpi, myFloat andmetüüp on a float.
  • Samuti näeme, et myFloatil on floatandmetüüp, kuna Python teisendab andmete kadumise vältimiseks väiksema andmetüübi suuremaks.

Seda tüüpi teisendust nimetatakse kaudse tüübi teisenduseks (või) UpCastinguks .

Selgesõnaline tüübikonversioon

Selgesõnalise tüübi teisendamisel teisendavad kasutajad objekti andmetüübi nõutavaks andmetüübiks. Kasutame eelnevalt määratletud sisseehitatud funktsioone, näiteks:

  1. int ()
  2. ujuk ()
  3. kompleks ()
  4. bool ()
  5. str ()

Selgesõnalise tüübi teisendamise süntaks on järgmine:

(required_datatype)(expression)

Seda tüüpi muundamise nimetatakse Otsene Liik muundamise (või) DownCasting .

Keskmine teisendamine

Selle funktsiooni abil saame teisendada muud tüüpi väärtused int-ks.

Näiteks:

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

Märge:

  1. Keerulist andmetüüpi ei saa teisendada int-ks
  2. Kui soovite stringitüübi teisendada int-tüüpi, peab stringi literaal sisaldama väärtust baasis-10

Ujuki teisendamine

Seda funktsiooni kasutatakse mis tahes andmetüübi teisendamiseks ujukomaarvuks.

Näiteks:

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

Märge:

  1. Komplekstüübi saate teisendada ujuktüübi väärtuseks.
  2. Kui soovite stringitüübi teisendada ujukitüübiks, peab stringi literaal sisaldama väärtust baasis-10.

Kompleksne teisendamine

See funktsioonkasutatakse reaalarvude teisendamiseks kompleksarvuks (reaalne, kujuteldav).

Vorm 1: kompleks (x)

Selle funktsiooni abil saate ühe väärtuse teisendada reaalosa x ja mõttelise osaga 0 kompleksarvuks.

Näiteks:

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

Vorm 2: kompleks (x, y)

Kui soovite X ja Y teisendada kompleksarvuks, nii et X on reaalosa ja Y on mõtteline osa.

Näiteks:

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

Boole'i ​​teisendamine

Seda funktsiooni kasutatakse mis tahes andmetüübi hõlpsaks muutmiseks boolean andmetüübiks. See on Pythoni kõige paindlikum andmetüüp.

Näiteks:

>>> 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
Märkus. Bool-funktsiooni abil saate teisendada mis tahes tüüpi andmetüübi boolean-väärtuseks ja väljundiks on - Kõigi väärtuste korral, mis see tekitab True, välja arvatud 0, 0 + 0j ja Tühi string.

Stringi teisendamine

Seda funktsiooni kasutatakse mis tahes tüübi teisendamiseks stringitüübiks.

Näiteks:

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

Näidisprogramm:

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

Väljund:

Ülaltoodud programmi käivitamisel on väljund:

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: 

Ülaltoodud programmis

  • Lisame muutuja string_number ja integer_number.
  • Teisendasime string_number stringist (suurem) täisarvuks (madalam), kasutades int()funktsiooni liitmise teostamiseks.
  • Pärast string_number teisendamist täisarvuks lisab Python need kaks muutujat.
  • Saime väärtuseks_arv summa ja andmetüübiks täisarv.

Kirjutamise eelised

  1. Mugavam kasutada

Kirjutamise puudused

  1. Keerulisemat tüüpi süsteem
  2. Vigade allikas ootamatute mängude tõttu

Käsitlesin peaaegu kõike, mida on vaja Python3-s mis tahes tüüpi tüübiprogrammi teostamiseks.

Loodetavasti aitas see teil Pythoni tüpastamise kohta kiiresti ja hõlpsalt õppida.

Kui teile see artikkel meeldis, klõpsake klapil ja jätke mulle oma väärtuslikku tagasisidet.