← Back to course

Zmienne i typy danych

Zmienne i typy danych

Witaj z powrotem.

W poprzedniej lekcji zainstalowałeś Pythona, otworzyłeś terminal, utworzyłeś pierwszy plik .py i użyłeś print().

Bardzo dobrze.

Powiedziałeś Pythonowi:

print("Hello, World!")

I Python posłuchał.

Piękny początek.

Ale teraz potrzebujemy czegoś bardziej użytecznego.

Wyświetlanie tekstu jest miłe.

Ale prawdziwe programy muszą pamiętać rzeczy.

Imiona.

Wiek.

Ceny.

Wyniki.

Nazwy użytkowników.

Ścieżki plików.

Informację, czy coś jest prawdą albo fałszem.

I tutaj na scenę wchodzą zmienne.

Zmienne pozwalają programowi przechowywać wartości i używać ich później.

Bez zmiennych twój program miałby pamięć złotej rybki po aktualizacji systemu.

Nieidealnie.

Czego się nauczysz

W tej lekcji nauczysz się:

Pod koniec tej lekcji zrozumiesz, jak Python przechowuje podstawowe informacje.

To ogromny krok.

Bo kiedy program potrafi pamiętać wartości, może zacząć robić użyteczne rzeczy.

Mała pamięć.

Duża moc.

Bardzo Python.

Czym jest zmienna?

Zmienna to nazwa, która przechowuje wartość.

Przykład:

name = "Anna"

Tutaj:

name

to zmienna.

A:

"Anna"

to wartość.

Symbol = oznacza:

zapisz tę wartość pod tą nazwą

Czyli ta linia znaczy:

Zapisz "Anna" w zmiennej o nazwie name.

Teraz Python pamięta, że name oznacza "Anna".

Bardzo przydatne.

Bardzo proste.

Bardzo niebezpieczne, jeśli nazwiesz wszystko cos.

Twoja pierwsza zmienna

Utwórz plik:

variables.py

Napisz:

name = "Anna"

print(name)

Uruchom:

python variables.py

albo:

python3 variables.py

Output:

Anna

Python nie wyświetla słowa name.

Wyświetla wartość zapisaną w name.

O to właśnie chodzi w zmiennych.

Zmienna jest jak etykieta na pudełku.

Wartość jest tym, co znajduje się w pudełku.

Bardzo uporządkowane.

Bardzo pomocne.

W przeciwieństwie do niektórych prawdziwych szuflad w prawdziwych domach.

Zmienne mogą przechowywać różne wartości

Możesz utworzyć więcej zmiennych:

name = "Anna"
age = 25
city = "Rome"

print(name)
print(age)
print(city)

Output:

Anna
25
Rome

Tutaj przechowujemy:

Python pamięta każdą wartość.

Potem print() je pokazuje.

Twój program nie tylko krzyczy już stały tekst.

Teraz potrafi przechowywać informacje.

Pojawił się mały mózg.

Szanuj go.

Zmienianie wartości zmiennej

Zmienna może się zmienić.

Przykład:

name = "Anna"
print(name)

name = "Marco"
print(name)

Output:

Anna
Marco

Najpierw name przechowuje "Anna".

Potem zastępujemy ją wartością "Marco".

Stara wartość znika z tej zmiennej.

Python nie robi się emocjonalny.

Nie mówi:

Ale Anna była tutaj pierwsza.

Po prostu aktualizuje wartość.

Bardzo zimno.

Bardzo skutecznie.

Bardzo komputerowo.

Kolejność ma znaczenie

Python wykonuje kod od góry do dołu.

Przykład:

name = "Anna"
print(name)

name = "Sofia"
print(name)

Output:

Anna
Sofia

Przy pierwszym print(name) wartość to "Anna".

Przy drugim print(name) wartość to "Sofia".

Python nie patrzy w przyszłość.

Wykonuje kod linia po linii.

Jak bardzo posłuszny pociąg.

Zwykle punktualny.

Chyba że twój kod wykolei się na zakręcie.

Stringi

String to tekst.

Stringi zapisujemy w cudzysłowie.

Przykład:

name = "Anna"
city = "Rome"
message = "I am learning Python"

Możesz je wyświetlić:

print(name)
print(city)
print(message)

Output:

Anna
Rome
I am learning Python

Stringi mogą używać podwójnych cudzysłowów:

name = "Anna"

Albo pojedynczych:

name = 'Anna'

Oba sposoby działają.

Ale nie mieszaj ich.

Źle:

name = "Anna'

Python będzie narzekał.

I tym razem Python ma rację.

Cudzysłowy muszą do siebie pasować.

String jest jak walizka.

Jeśli otworzysz ją jednym zamkiem, a zamkniesz innym, zaczyna się chaos.

Stringi mogą zawierać spacje

Stringi mogą zawierać spacje:

full_name = "Anna Rossi"
message = "Python is very useful"

print(full_name)
print(message)

Output:

Anna Rossi
Python is very useful

Wszystko, co znajduje się w cudzysłowie, jest częścią stringa.

Spacje też.

Python nie usuwa spacji, bo nagle poczuł potrzebę porządku.

Python zachowuje to, co napiszesz.

Bardzo dosłowny.

Bardzo wierny.

Czasem aż za bardzo.

Liczby: integers

Integer to liczba całkowita.

Przykład:

age = 25
year = 2026
quantity = 10

Liczby całkowite nie potrzebują cudzysłowów.

Poprawnie:

age = 25

To jest coś innego:

age = "25"

Pierwsza wartość to liczba.

Druga wartość to tekst.

Ludzie widzą oba jako 25.

Python widzi dwie różne rzeczy.

Python nie zachwyca się podobieństwem wizualnym.

Python chce typów.

Mały surowy księgowy.

Liczby: floaty

Float to liczba z częścią dziesiętną.

Przykład:

price = 19.99
temperature = 21.5
height = 1.75

Floaty są przydatne przy cenach, pomiarach, średnich i wielu innych wartościach.

Przykład:

price = 19.99

print(price)

Output:

19.99

Ważny szczegół:

price = 19.99

używa kropki.

Nie przecinka.

Poprawnie:

price = 19.99

Źle:

price = 19,99

W Pythonie liczby dziesiętne używają kropki.

Przecinek ma inne znaczenia.

Python nie przejmuje się tym, że w twoim kraju ceny zapisuje się inaczej.

Python ma własne zasady kuchenne.

Booleany

Boolean to wartość, która może być:

True

albo:

False

Przykład:

is_student = True
is_admin = False

print(is_student)
print(is_admin)

Output:

True
False

Booleany są bardzo przydatne przy decyzjach.

Przykłady:

Czy użytkownik jest zalogowany?
Czy plik istnieje?
Czy hasło jest poprawne?
Czy produkt jest dostępny?

Booleany są proste.

Ale potężne.

Jak włącznik światła.

Włączone.

Wyłączone.

Bez dyskusji filozoficznej.

True i False muszą mieć wielką literę

W Pythonie booleany zapisujemy tak:

True
False

Źle:

true
false

Python nie zrozumie ich jako booleanów.

Python jest case-sensitive.

To znaczy, że wielkie i małe litery mają znaczenie.

To są różne rzeczy:

True
true
TRUE

Poprawne jest tylko:

True

Tak samo z:

False

Python jest uprzejmy.

Ale tutaj nie akceptuje kreatywnej pisowni.

Sprawdzanie typów przez type()

Python może powiedzieć, jaki typ ma wartość.

Użyj type().

Przykład:

name = "Anna"
age = 25
price = 19.99
is_student = True

print(type(name))
print(type(age))
print(type(price))
print(type(is_student))

Output:

<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>

To oznacza:

str    string
int    liczba całkowita
float  liczba dziesiętna
bool   boolean

type() jest przydatne, kiedy nie jesteś pewien, jakiego typu wartość masz.

Bardzo przydatne podczas debugowania.

A debugowanie to praca detektywa z większą ilością kawy.

Cztery podstawowe typy danych

Na razie zapamiętaj te cztery:

str    tekst
int    liczba całkowita
float  liczba dziesiętna
bool   True albo False

Przykłady:

name = "Anna"        # str
age = 25             # int
price = 19.99        # float
is_active = True     # bool

Te typy danych są wszędzie.

Będziesz ich używać ciągle.

Są jak podstawowe składniki kuchni Pythonowej.

Tekst.

Liczby.

Dziesiętne.

Prawda.

Dziwny przepis.

Ale działa.

Wyświetlanie tekstu i zmiennych razem

Możesz wyświetlać tekst i zmienne razem, używając przecinków:

name = "Anna"
age = 25

print("Name:", name)
print("Age:", age)

Output:

Name: Anna
Age: 25

To proste i przydatne.

print() może przyjmować wiele wartości oddzielonych przecinkami.

Python automatycznie dodaje między nimi spacje.

Bardzo miło.

Jak na niego.

Używanie f-stringów

Bardzo popularnym sposobem łączenia tekstu i zmiennych jest f-string.

Przykład:

name = "Anna"
age = 25

print(f"My name is {name}.")
print(f"I am {age} years old.")

Output:

My name is Anna.
I am 25 years old.

Litera f przed cudzysłowem oznacza:

Ten string może zawierać zmienne w nawiasach klamrowych.

Przykład:

f"My name is {name}"

Python zastępuje:

{name}

wartością zmiennej.

f-stringi są bardzo przydatne.

Bardzo czytelne.

Bardzo Python.

Używaj ich często.

Przyszły ty będzie zadowolony.

Proste obliczenia ze zmiennymi

Zmienne można używać w obliczeniach.

Przykład:

price = 10
quantity = 3

total = price * quantity

print(total)

Output:

30

Tutaj Python oblicza:

10 * 3

i zapisuje wynik w:

total

Potem wyświetlamy total.

Bardzo przydatne.

To początek prawdziwej logiki programowania.

Mały sklep.

Małe obliczenie.

Duży koncept.

Więcej przykładów obliczeń

Spróbuj:

a = 10
b = 5

print(a + b)
print(a - b)
print(a * b)
print(a / b)

Output:

15
5
50
2.0

Możesz też zapisać wyniki:

a = 10
b = 5

sum_result = a + b
difference = a - b
product = a * b
division = a / b

print(sum_result)
print(difference)
print(product)
print(division)

To jest czytelniejsze, gdy programy rosną.

Jasne nazwy mają znaczenie.

Bo przyszły ty nie chce rozwiązywać zagadki pod tytułem:

x = a * b

Przyszły ty już wystarczająco cierpiał.

Aktualizowanie liczby

Możesz zaktualizować zmienną, używając jej starej wartości.

Przykład:

score = 10
score = score + 5

print(score)

Output:

15

To oznacza:

Weź starą wartość score.
Dodaj 5.
Zapisz nową wartość z powrotem w score.

To jest bardzo częste.

Na początku może wyglądać dziwnie.

W matematyce byłoby dziwne.

W programowaniu jest normalne.

Symbol = w Pythonie oznacza przypisanie.

Nie “jest równe na zawsze”.

Oznacza:

włóż tę wartość do tej zmiennej

Bardzo ważne.

Krótsza składnia aktualizacji

Python ma krótszy sposób:

score = 10
score += 5

print(score)

Output:

15

To:

score += 5

oznacza:

score = score + 5

Możesz też używać:

score -= 2
score *= 3
score /= 2

Na razie nie przejmuj się tym za bardzo.

Po prostu wiedz, że taka składnia istnieje.

Programiści Pythona często jej używają.

Bo najwyraźniej oszczędzenie kilku znaków daje nam poczucie mocy.

Zasady nazywania zmiennych

Nazwy zmiennych muszą przestrzegać zasad.

Dobre nazwy:

name = "Anna"
user_age = 25
product_price = 19.99
is_active = True

Zasady:

Źle:

2name = "Anna"
user age = 25
product-price = 19.99

To nie zadziała.

Nazwy zmiennych w Pythonie muszą być poprawne.

Python nie jest tutaj elastyczny.

Nawet jeśli poprosisz grzecznie.

Używaj jasnych nazw

Źle:

x = "Anna"
y = 25
z = 19.99

Lepiej:

name = "Anna"
age = 25
price = 19.99

Jasne nazwy sprawiają, że kod łatwiej zrozumieć.

To ważniejsze, niż początkującym się wydaje.

Program czyta się częściej, niż się go pisze.

Zwłaszcza przez ciebie.

O północy.

Po tym, jak zapomniałeś, co napisałeś.

Więc nie karz przyszłego siebie.

Używaj dobrych nazw.

Snake case

W Pythonie nazwy zmiennych zwykle używają snake_case.

Przykład:

first_name = "Anna"
last_name = "Rossi"
user_age = 25
product_price = 19.99

Snake case oznacza:

małe litery rozdzielone underscores

Tak:

very_clear_variable_name

Nazywa się snake_case, bo wygląda jak wąż.

Bardzo zorganizowany wąż.

Ponieważ jesteśmy w Pythonie, brzmi to odpowiednio.

Case sensitivity

Python jest case-sensitive.

To są różne zmienne:

name = "Anna"
Name = "Marco"
NAME = "Sofia"

print(name)
print(Name)
print(NAME)

Output:

Anna
Marco
Sofia

Python widzi je jako trzy różne nazwy.

Ale proszę, nie rób tak w prawdziwym kodzie.

To jest mylące.

Mylący kod to miejsce, gdzie bugi wynajmują mieszkania.

Używaj jednego jasnego stylu.

Wybieraj:

name

a nie:

Name
NAME
nAmE

Twój kod nie jest listem od porywacza.

Typowy błąd: użycie zmiennej przed jej utworzeniem

Źle:

print(name)

name = "Anna"

Python wykonuje kod od góry do dołu.

W pierwszej linii name jeszcze nie istnieje.

Więc Python narzeka:

NameError: name 'name' is not defined

Poprawnie:

name = "Anna"

print(name)

Najpierw utwórz zmienną.

Potem jej użyj.

Bardzo proste.

Bardzo ważne.

Jak założenie butów przed wyjściem na zewnątrz.

Zwykle zalecane.

Typowy błąd: brak cudzysłowów wokół tekstu

Źle:

name = Anna

Python myśli, że Anna to zmienna.

Ale nie stworzyliśmy zmiennej o nazwie Anna.

Poprawnie:

name = "Anna"

Tekst potrzebuje cudzysłowów.

Nazwy zmiennych nie.

Porównaj:

name = "Anna"
print(name)

To wyświetla:

Anna

Cudzysłowy tworzą tekst.

Zmienna go przechowuje.

Potem print(name) pokazuje zapisaną wartość.

Bardzo czysto.

Bardzo Python.

Typowy błąd: mylenie liczb i stringów

Spójrz na to:

age = 25

To jest integer.

A teraz to:

age = "25"

To jest string.

To nie jest to samo.

Spróbuj:

age = "25"

print(type(age))

Output:

<class 'str'>

Chociaż wygląda jak liczba, Python traktuje to jako tekst, bo jest w cudzysłowie.

To ma znaczenie.

Duże znaczenie.

Zwłaszcza przy obliczeniach.

Przykład: stringa nie można używać jak liczby

Spróbuj:

age = "25"
next_year = age + 1

print(next_year)

To spowoduje błąd.

Dlaczego?

Bo age jest tekstem.

Python nie może dodać liczby 1 do tekstu "25".

Poprawnie:

age = 25
next_year = age + 1

print(next_year)

Output:

26

Typy danych mają znaczenie.

Python nie zgaduje.

Python nie mówi:

To wygląda jak liczba, więc może...

Nie.

Python trzyma się typu.

Surowy.

Ale sprawiedliwy.

Przeważnie.

Konwertowanie typów

Czasami trzeba przekonwertować wartość z jednego typu na inny.

Przykłady:

age_text = "25"
age_number = int(age_text)

print(age_number + 1)

Output:

26

Tutaj:

int(age_text)

zamienia string "25" na integer 25.

Możesz też używać:

str()
float()
bool()

Przykłady:

number = 25
text = str(number)

price_text = "19.99"
price = float(price_text)

Konwersję typów poćwiczymy bardziej później.

Na razie po prostu wiedz, że istnieje.

To jak powiedzenie Pythonowi:

Proszę, potraktuj tę wartość jako inny typ.

Python może się zgodzić.

Chyba że wartość nie ma sensu.

Przykład:

int("banana")

Python zdecydowanie się nie zgodzi.

Zrozumiałe.

Mini program: cena produktu

Utwórz plik:

product.py

Napisz:

product_name = "Notebook"
price = 5.99
quantity = 3

total = price * quantity

print(f"Product: {product_name}")
print(f"Price: {price}")
print(f"Quantity: {quantity}")
print(f"Total: {total}")

Uruchom:

python product.py

albo:

python3 product.py

Output:

Product: Notebook
Price: 5.99
Quantity: 3
Total: 17.97

To już jest przydatna logika.

Przechowujesz dane.

Obliczasz wynik.

Wyświetlasz czytelny komunikat.

Malutki program.

Prawdziwa idea.

Bardzo dobrze.

Mini program: profil użytkownika

Utwórz kolejny plik:

profile.py

Napisz:

first_name = "Anna"
last_name = "Rossi"
age = 25
city = "Rome"
is_student = True

print(f"Name: {first_name} {last_name}")
print(f"Age: {age}")
print(f"City: {city}")
print(f"Student: {is_student}")

Output:

Name: Anna Rossi
Age: 25
City: Rome
Student: True

To prosty profil użytkownika.

Wiele prawdziwych aplikacji przechowuje takie informacje.

Oczywiście prawdziwe aplikacje przechowują je w bazach danych.

Ale przed bazami danych potrzebujemy zmiennych.

Zmienna to pierwsza mała pamięć.

Baza danych to duża, poważna pamięć z papierologią.

Praktyka

Utwórz plik:

practice_variables.py

Napisz zmienne dla:

Przykład:

name = "Viktor"
age = 33
city = "Vigevano"
favorite_language = "Python"
is_learning_python = True
price = 12.50
quantity = 2

total = price * quantity

print(f"Name: {name}")
print(f"Age: {age}")
print(f"City: {city}")
print(f"Favorite language: {favorite_language}")
print(f"Learning Python: {is_learning_python}")
print(f"Total price: {total}")

Uruchom plik.

Potem zmień wartości.

Uruchom ponownie.

Cel to zrozumieć ten cykl:

zmień wartości
uruchom program
zobacz inny output

To jedna z głównych mocy zmiennych.

Kod może zostać taki sam.

Dane mogą się zmieniać.

Bardzo przydatne.

Bardzo programistyczne.

Mini wyzwanie

Utwórz plik:

small_shop.py

Twój program powinien przechowywać:

Potem oblicz:

cena całkowita = cena * ilość

Wyświetl paragon tak:

Customer: Anna
Product: Keyboard
Available: True
Price: 70.0
Quantity: 2
Total: 140.0

Przykładowe rozwiązanie:

customer_name = "Anna"
product_name = "Keyboard"
is_available = True
price = 70.0
quantity = 2

total = price * quantity

print(f"Customer: {customer_name}")
print(f"Product: {product_name}")
print(f"Available: {is_available}")
print(f"Price: {price}")
print(f"Quantity: {quantity}")
print(f"Total: {total}")

Teraz zmień produkt.

Zmień ilość.

Zmień cenę.

Uruchom ponownie.

Tak się uczysz.

Nie przez patrzenie na teorię, aż dusza wyjdzie z pokoju.

Tylko przez zmienianie kodu i sprawdzanie, co się stanie.

Checklist dla początkujących

Kiedy program nie działa, sprawdź:

Czy zapisałem plik?
Czy uruchamiam właściwy plik?
Czy jestem w odpowiednim folderze?
Czy dobrze napisałem nazwę zmiennej?
Czy utworzyłem zmienną przed jej użyciem?
Czy tekst jest w cudzysłowie?
Czy użyłem kropki przy liczbach dziesiętnych?
Czy przypadkiem nie użyłem spacji w nazwie zmiennej?
Czy napisałem True i False wielką literą?

Ta checklist oszczędzi ci czas.

Wiele błędów początkujących jest małych.

Mały błąd.

Duży dramat.

Klasyczne programowanie.

Podsumowanie

Dzisiaj nauczyłeś się:

To jedna z najważniejszych lekcji w programowaniu.

Zmienne są wszędzie.

Każdy użyteczny program przechowuje wartości.

Imię.

Liczbę.

Cenę.

Wynik.

Stan.

Prawdę.

Błąd.

Może nie sam błąd.

Ale dane o błędzie.

Bardzo nowocześnie.

Bardzo Python.

Następna lekcja

W następnej lekcji nauczymy się input.

Nauczysz się pytać użytkownika o informacje:

name = input("What is your name? ")

Wtedy twoje programy staną się interaktywne.

Zamiast tylko wyświetlać stałe wartości, będą zadawać pytania i odpowiadać.

To moment, kiedy program zaczyna wyglądać, jakby żył.

Nie za bardzo żył.

Nie budujemy buntu robotów.

Tylko mały program w Pythonie.

Na razie.