
Python 4 Data Science¶
Tutaj omówimy niezbędne dla analizy danych podstawy Pythona.
Zmienne.
Funkcje.
Wyrażenia warunkowe.
Pętle.
Zmiennne¶
Zmienna przechowuje określoną wartość.
W przeciwieństwie do literałów (np.
int), wartość zmiennej może się zmieniać (tj. może zmienna).Zmienne mogą być przypisywane przy użyciu operatora przypisania (
=).Po przypisaniu zmiennej, można jej używać odwołując się do jej nazwy.
## Przykładowa zmienna
my_int = 5## Użycie tej zmiennej
my_int + 27## Zmiana wartości zmiennej
my_int += 10
my_int15Zasady przypisywania zmiennych¶
Nazwy po lewej, wartości po prawej (np.
test_var = 2).W nazwach rozróżniana jest wielkość liter (zmienna
test_varnie może być dostępna ztest_VAR).Nazwy zmiennych muszą zaczynać się od litery.
Mogą zawierać liczbę (np.
test1) lub zaniżony wynik, ale nie mogą zaczynać się od liczby lub zaniżonego wyniku.
Python przeważnie nie dba o to, jak nazwiesz swoje zmienne, choć powinieneś(aś)!
Pamiętaj, że kod ma być czytany przez innych - więc upewnij się, że jest jasny!
typy obiektów¶
Wartość przypisana do zmiennej może mieć różne typy.
Oto niektóre z możliwych typów w Pythonie:
| Typ | Opis | Przykład |
|---|---|---|
str | String/text | "A String" |
int | Integer | 2 |
float | Float | 2.6789 |
list | List | [1, 2, 3] |
dict | Dictionary | {'a': 2} |
bool | Boolean | True |
NoneType | None | None |
Niektóre typy mają specjalne funkcje¶
W Pythonie różne typy obiektów mają różne funkcje.
Obiekt
strma funkcjęreplaceisplit.Obiekt
listma funkcjęappendijoin.
my_str = "CSS 1"
my_str = my_str.replace("1", "2")
my_str'CSS 2'my_str.split(" ")['CSS', '2']Niektóre typy są „kolekcjami”¶
Zarówno
listjak idictprzechowują kolekcje elementów.
### Przykładowa lista
my_list = [1, 2, "a"]
my_list[1, 2, 'a']### Przykładowy słownik
my_dictionary = {'a': 1, 'b': 2}
my_dictionary{'a': 1, 'b': 2}Funkcje¶
Funkcja jest fragmentem kodu wielokrotnego użytku, który wykonuje pewną operację (zazwyczaj na pewnym wejściu), a następnie zazwyczaj zwraca wynik (tj. wyjście).
Funkcja jest definiowana za pomocą słowa kluczowego def:
def func_name(arg1):
### Cokoliwek robi ta funkcja ;-)
return some_valuePo utworzeniu funkcji można jej używać.
Funkcje: prosty przykład¶
Poniższa funkcja kwadrat zwraca wynik mnożenia wejściowego x przez siebie.
def square(x):
return x * xsquare(2)4square(3)9Sprawdzanie: funkcje a zmienne¶
Załóżmy, że definiujemy funkcję o nazwie cube, która obejmuje pewne dane wejściowe x. Jak moglibyśmy wywołać tę funkcję, np. na wejściu takim jak 2?
cubecube()cube(2)cube 2
Twoja kolej: dekodowanie funkcji¶
Co robi poniższa funkcja?
def mystery_func(x, n):
return x % n == 0Rozwiązanie¶
Tutaj mystery_func sprawdza czy x jest podzielne przez n.
mystery_func(10, 2)Truemystery_func(10, 3)FalseWartości domyślne¶
Wartość domyślna jest wartością przyjmowaną przez argument domyślnie. Jeśli nie określono innej wartości, jest to wartość przyjmowana przez funkcję.
W definicji funkcji, wartość domyślna może być określona poprzez ustawienie: arg_name = default_value.
W poniższym przykładzie,
xjest wymagane.Ale
nma wartość domyślną2.
def is_divisible(x, n = 2):
return x % n == 0is_divisible(10) ### Zakładając n = 2Trueis_divisible(10, 3) ### Nadpisanie z n = 3FalseArgumenty pozycyjne a argumenty słów kluczowych¶
Argument funkcji może być wskazany za pomocą pozycji lub słowa kluczowego. Który z tych sposobów został przedstawiony w poniższym kodzie?
Pozycyjny
Słowo kluczowe
Oba
is_divisible(24, n = 3)TrueKontrola przepływu¶
Przepływ sterowania odnosi się do narzędzi, których możemy użyć do kontrolowania, które linie kodu są wykonywane i kiedy.
W Pythonie istnieją dwa główne sposoby kontrolowania „przepływu” naszego programu:
Stwierdzenia warunkowe:
if/elif/elsePętle:
for/while
Instrukcje warunkowe¶
W skrócie, warunek jest instrukcją, która sprawdza, czy jakiś warunek jest spełniony.
Możemy użyć polecenia if, aby kontrolować, które linie kodu są wykonywane.
x = 'Jeden ciąg znaków'
y = 'Jeden ciąg znaków'
if x == y:
print('Te ciągi są takie same.')Te ciągi są takie same.
else¶
Instrukcja
elsemówi Pythonowi, co zrobić, jeśli instrukcjaifma wartośćFalse.
x = "Jeden ciąg"
y = "Inny ciąg znaków"
if x == y:
print("Te ciągi są takie same.")
else:
print("Te ciągi są różne")Te ciągi są różne
Instrukcje warunkowe i funkcje¶
Instrukcje warunkowe stają się szczególnie przydatne, gdy połączymy je z funkcjami.
def square_if_even(x):
if x % 2 == 0:
return x ** 2
else:
return xTwoja kolej!¶
Jak napisać funkcję fizzbuzz, która:
przyjmuje liczbę
xjako dane wejściowe.zwraca „Fizz”, jeśli liczba jest podzielna przez
3.zwraca „Buzz” jeśli liczba jest podzielna przez
5.zwraca „FizzBuzz” jeśli liczba jest podzielna zarówno przez
3jak i5.
### Twój kod tutaj# Odkomentuj następującą linię, aby zobaczyć rozwiązanie:
# %load ./solutions/solution1.pyTwoja kolej!¶
Jak napisać funkcję o nazwie contains_letter, która:
Pobiera zarówno
słowojak iliteręjako dane wejściowe.Sprawdza, czy
słowozawiera tęliterę.Jeśli tak, wypisuje „Tak”.
W przeciwnym razie, wypisuje „Nie”.
### Twój kod tutaj!# Odkomentuj następującą linię, aby zobaczyć rozwiązanie:
# %load ./solutions/solution2.py# contains_letter("dog", "o")Yes
# contains_letter("cat", "o")No
Pętle¶
Pętla to sposób na wielokrotne powtarzanie tego samego fragmentu kodu.
Kiedy należy używać pętli?¶
Zasada kciuka: jeśli zauważysz, że kopiujesz/wklejasz ten sam kod wiele razy... możesz pomyśleć o użyciu pętli!
Mówiąc bardziej ogólnie: w programowaniu często chcemy wykonać tę samą czynność wielokrotnie.
Zastosuj tę samą instrukcję do każdego elementu na
liście.Kontynuować wykonywanie kodu do momentu spełnienia określonego warunku.
pętle for w akcji¶
Pętla
forjest używana do iteracji po sekwencji.
Pętla for używa składni:
for elem in list_name:
# rób coś## To jest lista w Pythonie
numbers = [1, 2, 3]
### To jest pętla for
for number in numbers:
print(number)1
2
3
pętle for i funkcje¶
Podobnie jak instrukcje if, pętla for staje się szczególnie potężna w połączeniu z funkcją.
def multiply_list(numbers):
product = 1 ## dlaczego zaczynam od 1, a nie od 0?
for i in numbers:
product *= i
return product ## zwróć uwagę na wcięcie!multiply_list([1, 2, 3])6Twoja kolej!¶
Napisz funkcję o nazwie znajdz_samogloski, która:
przyjmuje jako wejście
str.zwraca listę samogłosek w tym ciągu.
### Twój kod tutaj.# Odkomentuj następującą linię, aby zobaczyć rozwiązanie:
# %load ./solutions/solution3.py# znajdz_samogloski("programming")['o', 'a', 'i']# znajdz_samogloski("cat")['a']Podsumowanie¶
W zamierzeniu miał to być szybki przegląd podstaw Pythona, w tym:
Podstawowa składnia Pythona.
Definiowanie funkcji.
Używanie instrukcji
if.Używanie pętli
for.
Następnym razem przejrzymy pakiety, które będą pomocne w pracy z danymi, takie jak pandas.