de PALAKOLLU SRI MANIKANTA

Aflați tipografia în Python în cinci minute

Un curs accidental de tipografiere și conversie de tip în Python într-o manieră foarte lipsită de detalii

Aflati tipografia in Python in cinci minute
Fotografie de Suzanne D. Williams pe Unsplash

TypeCasting

Se numește procesul de conversie a unui tip de date la alt tip de date Tipografiere sau Tastați constrângerea sau Conversie tip.

Subiectele pe care mă voi concentra în acest articol sunt:

  1. Conversie tip implicită
  2. Conversie de tip explicită
  3. Avantaje
  4. Dezavantaje

Conversie tip implicită

Când conversia de tip este efectuată automat de către interpret fără intervenția programatorului, acel tip de conversie este denumit conversie de tip implicită.

Program de exemplu:

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

Ieșire:

Ieșirea pentru programul de mai sus va fi:

datatype of myInt: <class 'int'>datatype of myFloat: <class 'float'>Value of myResult: 144.43datatype of myResult: <class 'float'>

În programul de mai sus,

  • Adăugăm două variabile myInt și myFloat, stocând valoarea în myResult.
  • Vom analiza tipul de date al tuturor celor trei obiecte, respectiv.
  • În ieșire, putem vedea tipul de date al myInt este un integer, tipul de date al myFloat este un float.
  • De asemenea, putem vedea myFloat are float tip de date deoarece Python convertește tipul de date mai mic în tipul de date mai mare pentru a evita pierderea datelor.

Acest tip de conversie se numește Conversie tip implicită (sau) UpCasting.

Conversie de tip explicit

În Conversia tip explicită, utilizatorii convertesc tipul de date al unui obiect la tipul de date solicitat. Folosim funcții predefinite încorporate, cum ar fi:

  1. int ()
  2. pluti()
  3. complex()
  4. bool ()
  5. str ()

Sintaxa pentru conversia de tip explicit este:

(required_datatype)(expression)

Acest tip de conversie se numește Explicit Conversie tip (sau) DownCasting.

Conversia Int

Putem folosi această funcție pentru a converti valorile din alte tipuri în int.

De exemplu:

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

Notă:

  1. Nu puteți converti tipul de date complex în int
  2. Dacă doriți să convertiți tipul șirului în tipul int, literalul șirului trebuie să conțină valoarea din baza-10

Conversie plutitoare

Această funcție este utilizată pentru a converti orice tip de date la un număr în virgulă mobilă.

De exemplu:

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

Notă:

  1. Puteți converti tipul complex în valoare tip float.
  2. Dacă doriți să convertiți tipul șirului în tip float, literalul șirului trebuie să conțină valoarea în baza-10.

Conversie complexă

Această funcție este folosit pentru a converti numerele reale într-un număr complex (real, imaginar).

Forma 1: complex (x)

Puteți utiliza această funcție pentru a converti o singură valoare într-un număr complex cu partea reală x și partea imaginară 0.

De exemplu:

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

Forma 2: complex (x, y)

Dacă doriți să convertiți X și Y în număr complex, astfel încât X să fie parte reală și Y să fie parte imaginară.

De exemplu:

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

Conversia booleană

Această funcție este utilizată pentru a converti cu ușurință orice tip de date în tip de date boolean. Este cel mai flexibil tip de date din Python.

De exemplu:

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

Notă: Cu ajutorul funcției bool, puteți converti orice tip de date în boolean, iar ieșirea va fi – Pentru toate valorile va produce True cu excepția 0, 0 + 0j și pentru un șir gol.

Conversia șirurilor

Această funcție este utilizată pentru a converti orice tip într-un tip de șir.

De exemplu:

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

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

Ieșire:

Când rulăm programul de mai sus, ieșirea va fi:

Data type of integer_number: <class 'int'>Data type of num_str before Type Casting: <class 'str'>Data type of string_number after Type Casting: <class 'int'>Sum of integer_number and num_str: 579Data type of the sum: <class 'int'>

În programul de mai sus,

  • Adăugăm variabila string_number și integer_number.
  • Am convertit string_number din string (mai mare) în tip întreg (inferior) folosind int() funcție pentru a efectua adăugarea.
  • După conversia string_number într-o valoare întreagă Python adaugă aceste două variabile.
  • Am obținut valoarea number_sum și tipul de date pentru a fi un număr întreg.

Avantajele tipăririi

  1. Mai convenabil de utilizat

Dezavantaje ale tipografierii

  1. Sistem de tip mai complex
  2. Sursa de bug-uri din cauza distribuțiilor neașteptate

Am acoperit cam tot ce este necesar pentru a efectua orice tip de operație de tipografiere în Python3.

Sper că acest lucru v-a ajutat să aflați despre Python Typecasting într-un mod rapid și ușor.

Dacă ți-a plăcut acest articol, te rog să dai clic pe clap și să-mi lași feedbackul tău valoros.