Conversia tipului și turnarea tipului în Python explicate cu exemple

Publicat: 2020-02-19

Python are multe tipuri de date și, ca programator, ar trebui să știți cum să convertiți un tip de date Python în altul. Python are multe funcții încorporate pentru această sarcină. Și în acest ghid simplu, le vom arunca o privire pentru a vă ajuta să înțelegeți mai bine conversiile de tip.

După ce ați terminat cu acest ghid, veți ști cum să convertiți șiruri în numere întregi și invers. Așa că, fără alte prelungiri, să începem.

Cuprins

Tipuri de date în Python

Înainte de a începe discuția despre conversia tipului în Python, să aruncăm o scurtă privire asupra tuturor tipurilor de date prezente în acest limbaj:

numere întregi

Valorile întregi pot fi atât de lungi cât doriți. Ca și în matematică, numerele întregi în Python sunt și ele cifre. Dar nu poți avea numere întregi lungi la infinit decât dacă ai un supercomputer. Python tratează orice număr fără prefix ca un întreg. Aceste numere includ și cifre zecimale.

Numere în virgulă mobilă

Flotante în Python sunt numere care sunt scrise cu un punct zecimal pentru separarea cifrelor fracționale și a întregului. Câteva exemple de numere în virgulă mobilă sunt 4,3, 9,18 etc. Puteți adăuga „e” și pentru notația științifică în Python.

Numere complexe

Numerele complexe în Python urmează acest format: (partea reală + partea imaginară). Câteva exemple de numere complexe sunt (3+2i), (8-2x), etc.

Siruri de caractere

Șirurile pot fi orice set particular de caractere în Python. Acestea sunt denumite str. Le puteți scrie folosind ghilimele. Puteți folosi ghilimele simple, precum și ghilimele duble pentru a scrie șiruri în Python. Șirurile pot fi orice caractere plasate între ghilimele, cum ar fi „91”, „bună ziua”, etc.

La fel ca numerele întregi, nu există nicio limită pentru lungimea caracterelor din șiruri. Șirurile sunt de diferite tipuri, cum ar fi șiruri de caractere triple, șiruri brute și multe altele. Cu toate acestea, dacă am începe să discutăm despre șiruri și tipurile lor, acest articol va dura prea mult.

Tipul de date boolean

Tipul final de date pe care ne-am mai rămas de discutat este tipul de date boolean. Datele booleene pot avea una dintre cele două valori, care sunt adevărate și false. Valorile booleene sunt destul de esențiale în Python din multe motive. Puteți utiliza valori booleene pentru a determina adevărul obiectelor și valorilor.

Citiți: Salariu pentru dezvoltatori Python în India 2020

Pe măsură ce veți afla mai multe despre operatorii logici din Python, va trebui să vă ocupați de obiecte și valori booleene.

Deci acestea au fost toate tipurile de date prezente în Python. Aflați mai multe despre tipurile de date din Python. În afară de aceste tipuri de date, Python are și multe funcții încorporate, care îl ajută să îndeplinească o varietate de sarcini. Va trebui să folosim câteva funcții încorporate pentru a implementa și conversia tipului. Consultați programele noastre de știință a datelor pentru a afla despre diferitele tipuri de conversii.

Acum că am discutat despre tipurile de date, putem trece la conversia tipului.

Diferite tipuri de conversii de tip în Python

Există două tipuri de conversii de tip în Python. Acestea sunt următoarele:

Implicit

În acest caz, Python convertește automat un tip de date într-un alt tip. Tu, utilizatorul, nu trebuie să te implici în acest proces. Iată un exemplu de conversie implicită a întregului în float în Python:

num_int = 18

num_flo = 1,8

num_new = num_int + num_flo

print(„tipul de date al num_int:”, tip(num_int))

print(„tipul de date al num_flo:”, tip(num_flo))

print(„Valoarea num_new:”,num_new)

print(„tipul de date al num_new:”, type(num_new))

Rezultatul codului de mai sus ar fi următorul:

tipul de date al num_int: <clasa „int”>

tipul de date al num_flo: <clasa „float”>

Valoarea num_new: 19,8

tipul de date al num_new: <clasa „float”>

După cum puteți vedea, a trebuit doar să adăugăm num_flo și num_int împreună cu num_new pentru a obține rezultatul dorit. Am convertit întregul 18 într-un float 19.8 prin câteva linii de cod. Lucrul vital de remarcat aici este că Python a transformat automat numărul întreg în float.

Explicit

În cazul conversiei de tip explicit, folosim funcții în scopuri de conversie. Vă amintiți funcțiile încorporate pe care le-am menționat anterior? Ele vor fi utile în această secțiune. Un alt nume pentru conversiile explicite de tip este tipărirea. Are acest nume, deoarece tu, utilizatorul, arunci tipul de date al obiectului în cauză.

Există câteva funcții de conversie de tip cu care ar trebui să fiți familiarizat pentru a efectua tipărirea în Python. Int(a,base) este o funcție populară, deoarece poate converti orice tip de date într-un număr întreg. float() poate transforma orice tip de date într-un număr în virgulă mobilă. oct() convertește numerele întregi în șiruri octale, iar hex() transformă numerele întregi în șiruri hexazecimale.

Iată un exemplu de conversie de tip folosind oct():

c = oct(80)

print („Ieșire: „,end="”)

imprimare (c)

Și rezultatul ar fi:

Ieșire: 0o120

Când lucrați cu aceste funcții, rețineți că sintaxa pentru o astfel de conversie ar trebui să fie:

(tipul_date_dorit)(expresie)

Există multe tipuri de conversii de tip pe care le puteți efectua în Python. Cu toate acestea, există două tipuri de ele, pe care le vei realiza cel mai mult. Conversia șirurilor de caractere în numere întregi și invers poate fi un punct de plecare excelent. Deci, să discutăm fiecare dintre aceste conversii de tip separat pentru o mai bună înțelegere a acestui subiect:

Citiți: Idei și subiecte de proiecte pentru dezvoltatori Python

Conversia String în int Python

Puteți converti un șir în int Python prin funcția int(). Vă oferă un număr întreg zecimal cu doar un clic. Se presupune că expresia pe care ați introdus-o este un număr întreg zecimal, dar dacă nu este, va returna o valoare ValueError. Și nu vrem asta. Puteți menționa sistemul de numere de care aveți nevoie, oferind valorii o bază pentru a evita această problemă.

Deci, dacă convertiți un șir în int în Python, puteți face acest lucru:

int(“5”)

Sau puteți adăuga o bază pentru diferite tipuri de șiruri:

int(“5” , baza=10)

Acum să discutăm inversul acestei conversii, adică când trebuie să convertiți un număr întreg într-un șir.

Convertirea int în String Python

Puteți folosi funcția str() pentru a converti numerele întregi în șiruri. Doar urmați sintaxa pe care am menționat-o mai înainte:

str(5)

Șirurile pot converti numere întregi în expresii zecimale dacă utilizați un literal binar. Cu toate acestea, la fel ca în cazul funcției int, dacă aveți nevoie, puteți adăuga mai multe informații pentru diferite conversii. Puteți obține rezultate octale, binare și chiar hexazecimale cu această funcție.

După puțină practică, puteți efectua sarcini mai complexe și cu conversia tipului. Iată un exemplu de adăugare a unui șir cu un număr întreg prin tipare:

num_int = 256

num_str = „64”

print(„Tipul de date al num_int:”, tip(num_int))

print(„Tipul de date de num_str înainte de tipul Casting:”, type(num_str))

num_str = int(num_str)

print(„Tipul de date al num_str după tipul de turnare:”, type(num_str))

num_sum = num_int + num_str

print(„Suma de num_int și num_str:”,num_sum)

print(„Tipul de date al sumei:”, tip(num_sum))

Rezultatul codului de mai sus ar fi acesta:

Tipul de date al num_int: <clasa „int”>

Tipul de date al num_str înainte de Type Casting: <clasa „str”>

Tipul de date al num_str după tipul Casting: <class 'int'>

Suma num_int și num_str: 320

Tipul de date al sumei: <class 'int'>

După cum puteți vedea, este foarte distractiv. Simțiți-vă liber să experimentați cu conversiile de tip și să vă extindeți baza de cunoștințe.

Concluzie

Sperăm că ați învățat multe din acest articol. Efectuarea conversiilor de tip este unul dintre multele lucruri pe care le puteți face cu funcțiile Python.

Dacă citiți acest articol, cel mai probabil aveți ambiții de a deveni un dezvoltator Python. Dacă sunteți interesat să învățați python și doriți să vă murdăriți mâinile cu diverse instrumente și biblioteci, consultați Diploma PG în știința datelor a IIIT-B.

În codificare, prin ce diferă conversiile explicite de conversiile implicite?

O conversie implicită de tip este o conversie de tip care este definită de utilizator și obligă o expresie să fie de un anumit tip. Când mai multe tipuri de date sunt combinate într-o expresie, compilatorul efectuează o conversie implicită de tip. Conversia explicită, cunoscută și sub denumirea de casting, este atunci când convertim în mod explicit de la un tip de date la altul prin executarea funcției adecvate pentru tipul de date în care dorim să facem conversia. Fără asistența programatorului, se realizează o conversie implicită de tip.

Prin ce este diferită turnarea tipului de conversia tipului?

Tipul de date de destinație trebuie să fie mai mic decât tipul de date sursă atunci când introduceți un tip de date în altul. Cu toate acestea, datele sursă trebuie să fie mai mici decât tipul de date de destinație la conversia unui tip de date în altul. Un programator trebuie să tastați manual cast un tip de date într-un alt tip. Convertirea unui tip de date în altul nu implică nicio intervenție a programatorului, deoarece compilatorul le compileaz automat în timpul execuției programului. Există șansa ca datele sau informațiile să se piardă în timpul difuzării tipului. Când convertiți un tip de date mic într-un tip de date mare, este puțin probabil ca datele să se piardă.

Care este mai eficient în Pythontuples sau liste?

Un tuplu este o colecție de obiecte Python separate prin virgulă și, din cauza naturii sale statice, tuplu-ul este mai rapid decât lista. Tuplurile sunt, de asemenea, mai eficiente din punct de vedere al memoriei decât listele. Când vine vorba de eficiența timpului, tuplurile au un avantaj minor față de liste, în special când vine vorba de a căuta o valoare. Dacă aveți date care nu ar trebui să fie modificate în primul rând, ar trebui să preferați un tip de date tuplu în locul unei liste. Putem face o listă de tupluri, ceea ce înseamnă că membrii tuplului pot fi înfășurați într-o listă și, prin urmare, urmează aceleași caracteristici ca o listă Python. Deoarece tuplurile Python ocupă mai puțin spațiu, construirea unei liste de tupluri este mai practică.