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.