Mladić kod kuće tipka na laptopu
Zasluga slike: g-stockstudio/iStock/Getty Images
Za razliku od C++ i Jave, Python varijable ne sadrže eksplicitne informacije o tipu. Ako koristite funkciju koja zahtijeva niz, možete joj proslijediti varijable drugih vrsta bez bacanje iznimke, iako vaš kod može izbaciti iznimku kada pokuša obraditi varijablu. Jedine vrste podataka koje ćete možda morati pretvoriti u nizove su složene strukture podataka kao što su skupovi i popisi. Python uključuje praktične funkcije i operatore za ponavljanje stavki u strukturi podataka i dodavanje znakova varijabli niza.
Jaki, dinamički upisani jezici
C++ i Java zahtijevaju pričuvnu riječ tipa koja prethodi svim alokacijama varijabli jer prevodilac ili okruženje za izvršavanje moraju znati kako postupati s podacima. Ovi statički tipizirani jezici koriste lijevanje tipova za pretvaranje između tipova ako je moguće. Budući da je Python dinamički tipiziran jezik, tumač zaključuje tip u vrijeme izvođenja, tako da jednostavno dodjeljujete vrijednosti varijablama prema potrebi. Možete dodijeliti bilo koju vrstu podataka varijabli koja se prije koristila kao druga vrsta, a Python sakupljač smeća uklanja staru varijablu iz memorije.
Video dana
Pretvaranje struktura podataka u nizove
Ako vaš program prikuplja tekstualne informacije u složenoj strukturi kao što je popis, tuple ili skup, možete preći preko strukture podataka da biste dodali elemente varijabli niza. Ne morate deklarirati varijablu niza prije ponavljanja strukture podataka, ali to može učiniti vaš kod jednostavnijim. Na primjer, sljedeći kod pokazuje najosnovniju metodu za pretvaranje popisa u niz:
ultimateQuestion = "" # proglasiti prazan niz "ultimateQuestion"
tokens = ["Što je ", 6, " puta ", 9, "?"] # popis mješovitih tipova s razmacima
za t u tokenima: ultimateQuestion += str (t)
ispis (ultimateQuestion)
Metoda str koja se koristi u petlji for pretvara cijele brojeve u nizove i nema utjecaja na postojeće nizove. Ako pokrenete ovaj kod u Python interpreteru, ispisuje "Koliko je 6 puta 9?"
Ugrađene metode stringova
Kao i većina jezika visoke razine, Python uključuje mnoge metode koje pripadaju ugrađenom tipu stringa. U Pythonu ove metode možete pozvati iz literala niza, tako da, na primjer, spojite elemente popisa, možete proslijediti varijablu popisa metodi spajanja string literala kao u sljedećem primjeru:
tokens = ['Hello', 'World'] #string tokeni bez razmaka
pyString = ' '.join (tokeni)
ispis (pyString)
Ova skripta poziva join iz literala stringa ' ', koji je niz od jednog znaka samo znaka razmaka. On spaja 'Hello' i 'World' u "Hello World" umetanjem pozivajućeg objekta -- znaka razmaka -- između svakog elementa popisa.
Python varijabilna razlučivost opsega
Kao i u drugim jezicima visoke razine, morate obratiti pažnju na opseg varijable kada deklarirate i dodjeljujete varijabli niza. Ako deklarirate varijablu niza unutar funkcije ili petlje, ne možete je koristiti nigdje drugdje u programu. Na primjer, Python interpreter uništava varijablu "verticalList" nakon povratka iz petlje:
za g u namirnicama: verticalList += g + '\n' # niz deklariran unutar for petlje
ispis (vertikalni popis)
Ova skripta izbacuje iznimku jer "verticalList" nije definiran izvan opsega for petlje.