Android

Hogyan lehet átalakítani a vonóságokat egész számba a pythonban?

Week 8

Week 8

Tartalomjegyzék:

Anonim

A Pythonban minden adattípus, beleértve az egészeket és a karakterláncokat is, objektumok. Python-kód írásakor gyakran át kell konvertálnia az egyik adattípust a másikra. Például egy matematikai művelet végrehajtásához egy karakterlánccal ábrázolt számon egy egész számtá kell konvertálni.

Ebben az oktatóanyagban megmutatjuk, hogyan lehet konvertálni a Python karakterláncot egész számgá.

Python int() függvény

A beépített int() függvény egy tizedes egész objektumot ad vissza egy adott számból vagy karakterláncból. A következő formájú:

int(x, base=10)

A `függvény két érvet fogad el:

  • x - Karakterlánc vagy szám, amelyet egészre kell konvertálni. base - Az első argumentum számrendszerét képviseli. Értéke 0 és 2–36 lehet. Ha nem adunk alapot, akkor az alapértelmezett érték 10 (tizedes egész szám).

Az egész számokat általában hexadecimális (16 alap), decimális (10 alap), oktális (8 alap) vagy bináris (2. alap) jelöléssel fejezik ki.

Ha az adott argumentum nem ábrázolható egész számként, akkor a függvény ValueError kivételt dob.

Python karakterlánc konvertálása egész számba

A Pythonban a 'karakterlánc' olyan karakterek listája, amelyeket egy ( ' ), kettős ( " ) vagy hármas idézőjelekkel ( """ ) deklaráltak.

Ha csak a számokat tartalmazó változót idézőjelekkel deklarálják, akkor az adattípust String-re állítja. Vegyük figyelembe a következő példát:

days = "23" type(days)

A type() függvény megmutatja, hogy a days String objektumok.

Próbáljunk matematikai műveletet végrehajtani a változón:

print(days+5)

A Python TypeError kivételes hibát dob, mert nem tudunk hozzáadási számítást elvégezni karakterlánccal és egész számmal:

Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects

A tizedes egész szám karakterlánc ábrázolásáért intre konvertálva adja át a karakterláncot az int() függvénynek, amely tizedes egész számot ad vissza:

days = "23" days_int = int(days) type(days_int)

print(days_int+5)

28

Ha a szám vesszőket tartalmaz, ezreket, milliókat stb. Jelöl, akkor a vesszőt el kell távolítani, mielőtt a számot átadja az int() függvénynek:

total = "1, 000, 000" int(total.replace(", ", ""))

1000000

Különböző számrendszerekben egész számot képviselő karakterláncok konvertálásakor feltétlenül használja a helyes base .

Például a hexadecimális rendszerben az 54732 számot D5CF-ként D5CF . Tizedes egészre konvertálásához a 16. alapot kell használnia:

int("D5CF", 16)

54735

Ha a D5CF karakterláncot átadja az int() függvénynek bázis beállítása nélkül, akkor az ValueError kivételt ValueError :

int("D5CF")

Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'

Következtetés

A Pythonban az int() függvény segítségével konvertálhat egy karakterláncot int() .

piton