Python String la Int, Int la String

Transformarea Datelor în Python: De la String la Intreguri și Invers

Introducere

Python este un limbaj de programare versatil care oferă o gamă largă de funcții și biblioteci pentru manipularea datelor, inclusiv conversii între diferite tipuri de date. În acest articol, ne vom concentra pe conversia șirurilor în numere întregi (int) și invers, explorând metodele și cazurile de utilizare asociate.

Conversia Șirurilor în Numere Întregi

funcția int()

Cea mai simplă metodă de a converti un șir într-un număr întreg este utilizarea funcției int(). Această funcție ia un șir ca argument și returnează echivalentul său numeric, cu condiția ca șirul să conțină o reprezentare validă a unui număr întreg.

python
numar_int = int("123")
print(numar_int)

Afișează: 123

Sisteme Numerice Alternative

Funcția int() oferă argumente opționale pentru specificarea bazei sistemului numeric al șirului de intrare. Acest lucru este util pentru conversia numerelor din sisteme numerice diferite, cum ar fi binar, octal sau hexadecimal.

python
numar_binar = int("1111", 2)

Convertește binarul 1111 în zecimal 15

numar_octal = int("123", 8)

Convertește octalul 123 în zecimal 83

numar_hex = int("FF", 16)

Convertește hexadecimalul FF în zecimal 255

Gestionarea Erorilor

Dacă șirul de intrare nu conține o reprezentare validă a unui număr întreg, funcția int() va genera o eroare ValueError. Este important să gestionați aceste erori în codul dvs. pentru a asigura conversia corectă a datelor.

Conversia Numerelor Întregi în Șiruri

funcția str()

Conversia numerelor întregi în șiruri este realizată prin utilizarea funcției str(). Această funcție ia un număr întreg ca argument și returnează o reprezentare șir a acestuia.

python
numar_str = str(123)
print(numar_str)

Afișează: '123'

Formatarea Șirurilor

Funcția str() oferă argumente opționale pentru formatarea șirului rezultat, inclusiv padding, aliniere și specificarea bazei sistemului numeric.

python
numar_formatat = str(123, 5)

Folosește padding pentru a crea '123 '

numar_aliniat = str(123, 5, align='^')

Aliniază la mijloc ' 123 '

numar_bin = str(15, 2)

Convertește în binar '1111'

Sisteme Numerice Alternativ

Argumentele base și radix pot fi utilizate pentru a specifica baza sistemului numeric a șirului rezultat, permițând conversia numerelor întregi în diferite formate numerice.

Cazuri de Utilizare

Conversia între șiruri și numere întregi este esențială în diverse scenarii de programare, printre care:

* Analiza datelor: Conversia șirurilor din fișierele text sau bazele de date în numere întregi pentru calcul și analiză.
* Validarea intrărilor: Verificarea dacă intrările utilizatorului sunt numere întregi valide înainte de procesare.
* Formatarea datelor: Conversia numerelor întregi în șiruri pentru afișare într-un format specific sau scriere în fișiere.

Concluzie

Python oferă mecanisme robuste și flexibile pentru conversia între șiruri și numere întregi. Funcțiile int() și str() permit conversii simple și gestionarea erorilor, în timp ce argumentele opționale oferă capabilități avansate de formatare și conversie în diferite sisteme numerice. Înțelegerea acestor metode este esențială pentru manipularea eficientă a datelor în aplicațiile Python.

Întrebări Frecvente

1. Cum pot converti un șir care conține spații într-un număr întreg?
Folosiți funcția int() cu argumentul base=10 pentru a elimina automat spațiile înainte de conversie.

2. De ce apare o eroare ValueError atunci când convertesc un șir care conține caractere non-numerice?
int() așteaptă un șir care conține numai cifre. Gestionați erorile folosind try și except pentru a valida intrările.

3. Cum pot converti un număr întreg în baza 2?
Utilizați funcția bin() pentru a converti un număr întreg în reprezentarea sa binară (bază 2).

4. Cum pot formata un număr întreg cu zerouri de conducere?
Utilizați funcția str() cu argumentul zfill pentru a adăuga zerouri de conducere la numărul întreg.

5. Este posibil să se convertească o șir de caractere ASCII într-un număr întreg?
Da, funcția ord() returnează codul ASCII al primului caracter dintr-un șir.

6. Cum pot converti un număr întreg într-un șir care conține numere separate prin virgule?
Utilizați funcția str() cu argumentul sep= pentru a insera un separator specificat între cifre.

7. Este posibilă conversia unui șir care conține numere cu punct zecimal în numere întregi?
Nu, conversia la numere întregi trunchiază partea zecimală. Utilizați funcția float() pentru a converti în numere în virgulă mobilă.

8. Cum pot converti mai multe șiruri într-o listă de numere întregi într-o singură operațiune?
Utilizați funcția map() cu funcția int() pentru a aplica conversia la o listă de șiruri.

  Căști plăcute pentru buget, cu câteva probleme