Hogyan konvertáljunk karakterláncot a Pythonban

Otthoni munka.

Egy fiatal férfi otthon a laptopján gépel

Kép jóváírása: g-stockstudio/iStock/Getty Images

A C++-tól és a Java-tól eltérően a Python-változók nem tartalmaznak explicit típusú információkat. Ha olyan függvényt használ, amelyhez karakterlánc szükséges, akkor más típusú változókat is átadhat neki anélkül kivételt dob, bár a kódja kivételt adhat, amikor megpróbálja feldolgozni a változót. Az egyetlen adattípus, amelyet karakterláncokká kell konvertálnia, az összetett adatszerkezetek, például készletek és listák. A Python kényelmes függvényeket és operátorokat tartalmaz az adatstruktúra elemeinek iterálásához és karakterek hozzáfűzéséhez egy karakterlánc-változóhoz.

Erős, dinamikusan írt nyelvek

A C++ és a Java megköveteli a tartalék szó típusát, hogy megelőzze az összes változókiosztást, mivel a fordítónak vagy a futási környezetnek tudnia kell az adatok kezelését. Ezek a statikusan tipizált nyelvek típusöntést használnak a típusok közötti konvertáláshoz, ha lehetséges. Mivel a Python egy dinamikusan tipizált nyelv, az értelmező futás közben következtet a típusra, így egyszerűen csak szükség szerint rendelhet értékeket a változókhoz. Bármilyen adattípust hozzárendelhet egy korábban más típusként használt változóhoz, és a Python szemétgyűjtő eltávolítja a régi változót a memóriából.

A nap videója

Adatstruktúrák átalakítása karakterláncokká

Ha a programja szöveges információkat gyűjt össze összetett struktúrában, például listában, sorban vagy halmazban, akkor az adatszerkezeten áthurkolva elemeket fűzhet egy karakterlánc-változóhoz. Nem kell karakterlánc-változót deklarálnia az adatszerkezeten való iteráció előtt, de ez egyszerűbbé teheti a kódot. Például a következő kód bemutatja a lista karakterláncsá alakításának legalapvetőbb módszerét:

ultimateQuestion = "" # deklarálja az üres karakterláncot "ultimateQuestion"

tokens = ["Mi az ", 6, " times ", 9, "?"] # vegyes típusok listája szóközzel

t tokenben: ultimateQuestion += str (t)

nyomtatás (ultimateQuestion)

A for ciklusban használt str metódus egész számokat ad karakterláncokba, és nincs hatással a meglévő karakterláncokra. Ha ezt a kódot a Python értelmezőben futtatja, akkor kiírja a "Mi a 6-szor 9?"

Beépített karakterlánc-módszerek

A legtöbb magas szintű nyelvhez hasonlóan a Python is számos olyan metódust tartalmaz, amelyek a beépített karakterlánc típushoz tartoznak. A Pythonban ezeket a metódusokat karakterlánc-literálból hívhatja meg, így például a listaelemek összefűzéséhez átadhat egy listaváltozót a string literál összekapcsolási metódusának, az alábbi példában látható módon:

tokens = ['Hello, 'Világ'] #string tokenek szóköz nélkül

pyString = ' '.join (tokenek)

nyomtatás (pyString)

Ez a szkript meghívja a join-t a ' ' karakterlánc literáljából, amely csak a szóközből álló egykarakteres karakterlánc. A „Hello” és a „World” szavakat a „Hello World”-be fűzi össze úgy, hogy a hívó objektumot – egy szóköz karaktert – beilleszti az egyes listaelemek közé.

Python változó hatókör felbontása

Más magas szintű nyelvekhez hasonlóan a karakterlánc-változók deklarálásakor és hozzárendelésekor ügyelni kell a változó hatókörére. Ha egy karakterlánc-változót deklarál egy függvényen vagy cikluson belül, akkor azt sehol máshol nem használhatja a programban. Például a Python értelmező megsemmisíti a "verticalList" változót, miután visszatért a ciklusból:

a g-hez élelmiszerboltokban: verticalList += g + '\n' # karakterlánc deklarálva a ciklusban

nyomtatás (függőleges lista)

Ez a szkript kivételt dob, mert a "verticalList" nincs a for cikluson kívül definiálva.