Python Intro: Lekcija 3 - String
NameError - Greška u imenu varijable¶
Vjerovatno i najčešća stvar koja će vam se dešavati dok budete kodirali je greška pri korištenju varijabli. Uzmimo za primjer sljedeću liniju koda:
In [1]:
message="Zdravo svima, ja sam tu da vam pomognem sa učenjem kodiranja :)"
print (mesage)
Pogledajmo grešku koja se javila. Radi se o tzv NameError pogreški.Zatim vidimo koji fajl je uzrokovao grešku a zatim i koja linija koda. Na kraju je ispisana i konkretna poruka, tj. da "ime 'mesage' nije definisano". Vjerovatno ste već sami primjetili pogrešku (pogrešno napisano ime varijable). Greška se javila jer nismo bili konzistentni u korištenju imena varijable. Python ne brine o gramatici (da li ćemo varijablu nazvati "message" ili 'mesage') nego o tome da ime jedne iste varijable bude identično napisano svaki puta kada je koristimo.
Ispravno napisan kod iz prethodne dvije linije bi izgledao ovako:
Ispravno napisan kod iz prethodne dvije linije bi izgledao ovako:
In [ ]:
message="Zdravo svima, ja sam tu da vam pomognem sa učenjem kodiranja :)"
print (message)
Vježba¶
- Napišite vlastitu verziju pozdrava "Hello World!" i pridružite je nekoj varijabli. Ispišite vrijednost varijable na ekran.
- Promijenite vrijednost varijable i ispišite je ekran.
Strings¶
Niz karaktera predstavlja string. Pogledajmo nekoliko primjera rada sa stringovima.
In [ ]:
my_string = "This is a double-quoted string."
my_string = 'This is a single-quoted string.'
String je moguće definisati korištenjem i dvostrukih i jednostrukih navodnika. Definišimo sada string koji u sebi sadrži navodnike.
In [ ]:
quote = "Linus Torvalds once said, 'Any program is only as good as it is useful.'"
Lako je promijeniti početno slovo stringa. Za to se najčešće koriste funkcije title, upper, lower. Naprimjer:
In [ ]:
ime = 'selma'
print(ime)
print(ime.title())
print(ime.upper())
ime = 'Selma'
print(ime.lower())
Preporučuje se da se varijable dekleriraju malim slovima, a da se pri prezentaciji mijenja veličina slova prema potrebi. Na taj način se i osigurava da 'Selma', 'SELMA' i 'selma' ne budu tri različite varijable/osobe, tj. smanjuje se rizik od tipfelera.
Kratki komentar o sintaksi koja se pojavljuje u posljednjem primjeru, a koja se uobičajena u Pythonu: ime_varijable.metoda()
Metoda je jednostavno jedna od Pythonovih metoda koja nešto radi sa varijablom uz koju je pozvana. U našim primjerima, varijabla je string, a metode su mijenjale na stringu početno slovo u veliko [title()], sva velika slova [upper()] i sva slova mala [lower()]. Važno je napomenuti da pozivanjem određene metode ne mijenja se vrijednost varijable, tj. u kasnijoj upotrebi varijabla dolazi u originalnom obliku.
Kratki komentar o sintaksi koja se pojavljuje u posljednjem primjeru, a koja se uobičajena u Pythonu: ime_varijable.metoda()
Metoda je jednostavno jedna od Pythonovih metoda koja nešto radi sa varijablom uz koju je pozvana. U našim primjerima, varijabla je string, a metode su mijenjale na stringu početno slovo u veliko [title()], sva velika slova [upper()] i sva slova mala [lower()]. Važno je napomenuti da pozivanjem određene metode ne mijenja se vrijednost varijable, tj. u kasnijoj upotrebi varijabla dolazi u originalnom obliku.
Kombiniranje stringova¶
In [ ]:
ime="selma"
prezime="radoputujenafakultethodzic"
ime_prezime= ime + ' ' + prezime
print(ime_prezime.title())
Operator + se može koristiti neograničen broj puta kako bi se komibnirali stringovi. Mnoge web stranice sadrže jedan ogromni string sačinjen od velikog broja malih stringova kombiniranih znakom + (postupak se naziva "concatenation). Naprimjer:
In [ ]:
razlog="studira fiziku ;-)"
prica= ime_prezime.title() + ' ' + razlog
print(prica)
Whitespace (prazna mjesta)¶
Termin "whitespace" se odnosi na prazna mjesta kojih je računar svjestan a korisnik i ne mora znati za njih. Najčešće su to prazna mjesta koja se dobiju pritiskom na space, tab, enter . Jedno prazno mjesto u karakteru se lako pravi, dok se preostala dva tipa prave posebnom kombinacijom znakova (\t - tab, \n - nova linija). Pogledajmo primjere:
In [ ]:
print ("Zdravo svima!")
print ("\tZdravo svima!")
print ("Zdravo \tsvima")
In [ ]:
print ("Zdravo \nsvima!")
print ("--------")
print ("Zdravo svima!")
print ("\nPozdrav!")
print ("\n\n\nPozdrav!")
Uklanjanje praznih mjesta¶
Kada korisnici trebaju unijeti neki string (korisničko ime naprimjer) tada postoji mogućnost da ispred ili iza stringa unesu i prazna mjesta (pritiskom na space ili tab). Korisno je pri učitavanju takvih podataka ukloniti ta prazna mjesta (Whitepsace stripping).Moguće je ukloniti prazna mjesta koja se nalaze ispred ili iza stringa, ili istovremeno sa obje strane. Pogledajmo primjer:
In [ ]:
ime = ' elma '
print(ime)
print(ime.lstrip())
print(ime.rstrip())
print(ime.strip())
Očigledniji primjer primjene gornjih metoda je sljedeći:
In [ ]:
ime = ' eric '
print('-' + ime + '-')
print('-' + ime.lstrip() + '-')
print('-' + ime.rstrip() + '-')
print('-' + ime.strip() + '-')
Nema komentara: