Hogyan lehet karakterláncot alakítani Pythonban
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, hogy kivételt dobna, bár a kód 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.
Adatszerkezetek á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)
print(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 következőt:"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 egy string literál összekapcsolási metódusának, ahogy az alábbi példában látható:
tokens =['Hello, 'Világ'] #string tokenek szóköz nélkül
pyString =' '.join(tokens)
print(pyString)
Ez a szkript a " " karakterláncból hívja meg a join-t, amely egy karakteres karakterlánc, amely csak a szóközből áll. A „Hello” és a „World” szavakat a „Hello World”-be kapcsolja össze úgy, hogy a hívó objektumot – egy szóköz karaktert – beilleszti az egyes listaelemek közé.
Python változó hatókörének 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 élelmiszerboltokban:verticalList +=g + '\n' # karakterlánc a cikluson belül deklarálva
print(vertikálisLista)
Ez a szkript kivételt dob, mert a "verticalList" nincs a for cikluson kívül definiálva.