20 lipca, 2020 w Kurs Python'a dla początkujących
Przez lukasz 20 lipca, 2020 w Kurs Python'a dla początkujących
Zmienne są podstawowym konceptem w programowaniu i dotyczą wielu języków – nie tylko Pythona. Służą nam do tego, aby przechować różne informacje niezbędne do działania programu. Wartość zmiennej może być ustawiana w trakcie działania programu, odczytywana i zmieniana.
Mam nadzieję, że to porównanie pomoże Ci zrozumieć je lepiej: możesz myśleć o zmiennych jak o pudełeczkach w których umieszczasz jakąś wartość, aby później z niej skorzystać. Ta wartość, nie może być jednak byle jaka. Zmienne posiadają typy, co znaczy, że wartość którą chcemy przypisać do zmiennej, musi spełniać kryteria danego typu. Python sam rozpoznaje jaki to jest typ.
Poniżej wymieniłem najważniejsze typy w Pythonie:
# we create variable: age type int age = 55 # we create variable: receipt type float receipt = 2.49 # we create variable: is_summer type bool is_summer = True # we create variable: name type string name = 'Fredzio' # it is a mistake # Python is unable to recognize the type # after creating something like this # our program will not work nonsense = dsad7sa7dsadsa7
Zanim przejdziemy do szczegółów, zwróć proszę uwagę na to, jak należy zapisywać nazwy zmiennych. Reguły do których musisz pamiętać to:
# correct variable names city_name = 'Warsaw' age = 40 favourite_programming_language = 'Python' # wrong variable names a = 'Janusz' SoMeThInG = 14 var1 = 'Laughter is the best medicine'
Staraj się o tym pamiętać i budować w sobie nawyk stosowanie poprawnego nazewnictwa od samego początku. Wielu nawet doświadczonych programistów o tym zapomina, co skutkuje niską jakością kodu i problemami z wprowadzaniem późniejszych zmian.
Tak jak widzisz wyżej, niektóre linie kodu mają na początku znak ‘#’. Oznacza on, że dana linia jest komentarzem i nie ma żadnego wpływu na działanie programu – zostanie po prostu zignorowana. Jest to bardzo przydatne ponieważ w takich komentarzach można umieszczać opisy działania kodu, informacje czy wyjaśnienia.
Na zmiennych liczbowych (int i float) możemy wykonać wszystkie operacje znane ze szkoły.
# addition print(10 + 4) # result: 14 # subtraction print(10 - 4) # result: 6 # multiplication print(10 * 4) # result: 40 # division (returns float) print(10 / 4) # result: 2.5 # division (returns int) print(10 // 4) # result: 2 # modulo operation returns the remainder after division # so 10 / 4 is 2, and 2 left (this 2 left is the result) print(10 % 4) # result: 2 # exponent - 10 to the power of 4 print(10 ** 4) # result: 10000
Do tych operacji możesz użyć skróconego zapisu, co oznacza dokładnie to samo, co zwykły.
my_number = 10 my_second_number = 5 my_number = my_number + 3 print(my_number) # result: 13 # it's the same as: my_second_number = my_second_number + 3 but shorter my_second_number += 3 print(my_second_number) # result 8
Czasami może okazać się, że będziesz potrzebować wykonać bardziej złożone operacje – w tym celu najprościej użyć “math” modułu. Moduł jest to oddzielny plik z kodem przygotowanym do wykonywania wybranych czynności. Ten konkretny moduł zawiera gotowe funkcje (o funkcjach wspominałem krótko na poprzedniej lekcji) do operacji matematycznych z których możesz skorzystać.
# in order to use math module # you need to place it at the top of your file import math # math in our code is an object # that means when you type: math. # you should see all available options you can use # some examples: # return the floor of x, the largest integer less than or equal to x. print(math.floor(2.9)) # result: 2 # return the square root of x. print(math.sqrt(9)) # result: 3.0
Moduł math posiada dużo wiele przykładów niż te, które wymieniłem wyżej. Szczegóły znajdziesz w dokumentacji: https://docs.python.org/3/library/math.html Nie ma sensu uczyć się ich na pamięć. Postaraj się jedynie zapamiętać, że coś takiego istnieje i że możesz do tego wrócić w przyszłości, jeżeli będziesz potrzebować.
Boolean może posiadać tylko jedną z dwóch wartości: True albo False. Jest on bardzo mocno związany z instrukcjami warunkowymi w programie, to znaczy część kodu wykona się tylko wtedy gdy zostanie spełniony jakiś warunek, na przykład: „jeżeli ktoś wpisał prawidłowe hasło (warunek) to zaloguj go do programu” – więcej będziemy o nich mówili na późniejszych lekcjach.
# examples: python_is_easy = True sky_is_green = False
Typ danych który służy do przechowywania zestawu znaków które zapisujemy w cudzysłowie. Cudzysłów może być pojedynczy czyli ’, lub podwójny czyli „. Poniżej znajdziesz przykłady często wykonywanych na nich akcji.
Często chcemy sprawdzić jak długi jest nasz string – przykładowo możemy chcieć by hasło w naszym serwisie zawierało minimum 8 znaków.
# new variable called: welcome_message welcome_message = 'hello' # len() is a build in function which counts # the number of characters in a string message_length = len(welcome_message) print(message_length) # result: 5
Zdarza się również, że chcemy jak dostać się do części stringa, wyciąć literkę lub część tekstu albo sprawdzić czy tekst zawiera jakiś ciąg znaków. Przykłady jak to zrobić znajdziesz po prawej stronie.
# To get an access to a specific character # in a string we use [] welcome_message = 'hello' # in programming we start couting from 0 # it returns the first letter from the string print(welcome_message[0]) # result: h # returns the last letter print(welcome_message[-1]) # result: o # returns selecter part from the string print(welcome_message[1:4]) # ell # check if our string contains 'foo' # and return boolean type contains = 'foo' in welcome_message # check if our string does not contain 'foo' # and return boolean type not_contains = 'foo' not in welcome_message print(contains) # False print(not_contains) # True
Możemy również chcieć połączyć ze sobą tekst, wystarczy, że wpiszemy wtedy +. Jeżeli łączy się ze sobą sporo zmiennych czasami taki zapis może być mało czytelny. Wtedy warto użyć tak zwanego „formatted stringa” którego oznaczamy pisząc f przed cudzysłowem i wtedy zamiast pisać wszędzie +, to możemy umieszczać zmienne bezpośrednio w tekście otaczając je nawiasem klamrowym (jak na przykładzie poniżej).
# combining strings
welcome_message = 'hello'
name = 'Fredzio'
combined_welcome_message = welcome_message + ' ' + name + '!'
print(combined_welcome_message)
# result: hello Fredzio!
# this is more convenient way to combine the strings
# but it does the same as the example above
# pay attention that you need to place f before quote
combined_welcome_message_v2 = f'{welcome_message} {name}!'
print(combined_welcome_message_v2)
# result: hello Fredzio!
Kolejną ciekawostką jest to, jeżeli stworzysz sobie jakąś zmienną która jest stringiem, to na tej zmiennej możesz wywołać różne wbudowane metody. Metoda jest to właściwie zwykła funkcja jak print(), ale związana z wybranym obiektem (oczywiście co to jest obiekt opowiemy sobie później ;). Aby zobaczyć jakie masz dostępne funkcje na swoim stringu, wpisz nazwę swojej zmiennej i daj kropkę na końcu np. welcome_message. Z popularniejszych metod, możesz zamieniać tekst na wielkie bądź małe litery, szukać czy coś występuje w naszym tekście, albo podmieniać zawartość. Przykłady poniżej.
welcome_message = 'hello my friend'
# transforms our string to upper case
print(welcome_message.upper())
# result: HELLO MY FRIEND
# transforms every first letter in our string to upper case
print(welcome_message.title())
# result: Hello My Friend
# retuns the index where is the letter 'e' in our string
# if it not there it returns -1
print(welcome_message.find('e'))
# result: 1
# converts any letter e to G
print(welcome_message.replace('e', 'G'))
# result: hGllo my friGnd
Tutaj zaczyna się najważniejsza część kursu 🙂 Aby nauczyć się programowania, trzeba siedzieć, programować, próbować i robić swoje programy. Często one zwyczajnie nie działają, mamy z czymś problemy, coś nie działa. Nigdy nie możesz się jednak zrażać! Tak właśnie wygląda prawdziwa nauka! Im więcej wysiłku będzie Cię kosztowało na początku, tym łatwiej będzie Ci później tworzyć programy w codziennym życiu. Dasz sobie radę!
Odpocznij po przeczytaniu tego posta i jak poczujesz się na siłach przejrzyj go jeszcze raz, a potem zrób kilka programów:
Jeżeli masz problem z wykonaniem zadania to się nie martw. Odpowiedź na praktycznie każde pytanie, możesz znaleźć w wyszukiwarce google.com więc postaraj się tam poszukać. Możesz też wrzucić swoje pytanie do komentarza poniżej.
Wow! Dużo tego, ale to w koniec tej lekcji 🙂 Była zdecydowanie najtrudniejsza jak do tej pory. Mnóstwo informacji i nowości. Gratulacje, że udało Ci się ją ukończyć!
Kolejna lekcja będzie jeszcze ciekawsza! Skupimy się na pisaniu różnych programów i nauczymy się przesyłać dane z terminala 🙂
Nie zapomnij polubić stronę na facebooku i zapisać się do newsletter’a aby dostać informację o kolejnych świetnych lekcjach!