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:
In [ ]:
message="Zdravo svima, ja sam tu da vam pomognem sa učenjem kodiranja :)"
print (message)

Vježba

  1. Napišite vlastitu verziju pozdrava "Hello World!" i pridružite je nekoj varijabli. Ispišite vrijednost varijable na ekran.
  2. 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.

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.

Nema komentara:

Pokreće Blogger.