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)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-1-5cfd717dc4c7> in <module>() 1 message="Zdravo svima, ja sam tu da vam pomognem sa učenjem kodiranja :)" ----> 2 print (mesage) NameError: name 'mesage' is not defined
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() + '-')
Samostalna vježba¶
1. Citati¶
Pronađite omiljeni citat i smjestite ga u varijablu koju ćete nazvati po želji. Ispišite citat na ekranu zajedno sa autorom citata (npr. "Albert Einstein je rekao: ....").2. Ime¶
Smjestite Vaše ime malim slovima unutar varijable. Ispišite ga zatim u formatu lowercase, Titlecase, UPPERCASE.3. Ime i prezime¶
Smjestite vaše ime i prezime (opet malim slovima) u dvije odvojene varijable, a zatim ispišite svoje ime i prezime.4. Rečenica¶
Izaberite proizvoljno ime i prezime. Smjestite ih u odvojene varijable. Iskoristite operaciju "+" sa strignovima da napišete jednu rečenicu o osobi pod izabranim imenom i prezimenom. Smjestite tu rečenicu u novu varijablu i ispište je na ekran.5. Prazna mjesta¶
Pridružite Vaše ime nekoj varijabli, ali upišite tako da iskoristite najmanje dvije vrste praznih mjesta sa obje strane imena. Ispišite tu varijablu na ekran. Ispišite je i tako što ćete ukloniti prvo prazna mjesta sa lijeve strane, zatim prazna mjesta sa desne strane i konačno prazna mjesta sa obje strane.
Python Intro: Lekcija 3 - String
Reviewed by Kvant
on
listopada 10, 2018
Rating: 5
