Legendarny kurs Harvard CS50 po polsku: Wykład 6 Część 1
Witamy ponownie na wykładzie Harvard CS50. Kontynuujmy pracę z lakonicznym i eleganckim Pythonem i poznajmy inne funkcje tego języka. Na przykład, dla działania programu nie jest potrzebna główna funkcja oraz... inne słowa.
Wciąż uczymy się podstaw programowania w Pythonie i porównujemy je z C.
Zacznijmy od kilku przykładów Pythona, aby zrozumieć podstawowe cechy tego języka.
Legendarny kurs Harvard CS50 po polsku: Wykład 7 Część 1
- Jak wykonać "cough" w Pythonie na różne sposoby: z oddzielną funkcją i bez niej lub używając operacji mnożenia. Tutaj mamy zamiar powtórzyć program z tygodnia zerowego w innym języku, mniej więcej w stylu Pythona.
- W Pythonie nie ma pojęcia ani prototypu... Więc gdzie powinny znaleźć się Twoje funkcje Python? A może użycie głównej funkcji nie jest takim złym pomysłem?
- Jeszcze kilka przykładów z 1. tygodnia. Weźmy przykład z dodatnią liczbą całkowitą (positive integer) i porównajmy go z programem w C.
- Czy możesz w Pythonie użyć zmiennych zdefiniowanych w pętli poza tą pętlą? Czy zmienne są dostępne w różnych funkcjach? Znajdź odpowiedzi na tym filmie.
- Ponownie zrealizujmy kilka pomysłów Mario i wydrukujmy kilka „cegiełek” i „bloków”, ale w Pythonie... zobaczysz, że czasami funkcje Pythona można parametryzować w nieco inny sposób niż C.
- Nauczmy się funkcji input (wprowadzania) i dowiedzmy się, co ona zwraca i jak jej używać z różnymi typami.
- Tak jak wcześniej próbowaliśmy w C, teraz wypróbujemy program z przepełnieniem i przekonamy się, że nie możemy przepełnić liczby całkowitej w Pythonie, ponieważ nie ma ona górnej granicy… więc może to przepełnić pamięć Twojego komputera.
- Porównajmy pracę z tablicami w Pythonie i C, próbując znaleźć średni wynik.
- Pamiętasz problem z drugiego tygodnia z iteracjami po wszystkich znakach w ciągu? W Pythonie możemy to zrobić trochę bardziej zwięźle.
- Jak iterować po ciągu znaków i zmieniać symbole na wielkie litery w stylu “Pythonic”.
- Weźmy argumenty wiersza poleceń z argv, listy ciągów.
- Kilka tygodni temu w exit.c wprowadziliśmy pojęcie zwracania zera, jednej lub innej wartości, aby zaznaczyć, że coś działa lub nie działa. Python oferuje tę samą funkcję, ale składnia jest nieco inna. Rzućmy na to okiem.
- Zróbmy szybki algorytm wyszukiwania liniowego, aby ponownie wyszukać konkretną nazwę w tablicy nazw - w stylu “Pythonic”.
- Rozpocznij pracę z książką telefoniczną: aby umieścić ludzi w jednej z nich, użyjemy “hashtable” czyli tablicy z haszowaniem (słownika), struktury danych, która przypomina tradycyjny słownik.
- W czwartym tygodniu wykładu porównaliśmy ciągi znaków za pomocą programu C. Zróbmy to za pomocą naszego nowego narzędzia Python. Zapewne pamiętasz, że ten przykład był początkowo problematyczny, ponieważ musiałeś użyć porównania losowego. Powodem jest to, że operator „==” porównuje adresy znaków, a nie same znaki. W Pythonie ten niuans zniknął, ułatwiając proces porównania.
- Zamiana elementów również była trudna... i znowu - w Pythonie wszystko jest o wiele bardziej przyjemne.
- Tutaj spróbujemy manipulować książką telefoniczną z lekkiego pliku Excel. Jeśli pamiętasz przykład czwartego tygodnia, to też było dość trudne. Python jest tutaj, aby ułatwić życie.
- Cechą Pythona, której nie ma C, są wyrażenia regularne lub wzorce, za pomocą których możemy dopasować ciągi. Zobaczymy, jak z nimi pracować.
- Kolejna interesująca rzecz na koniec wykładu: bardzo prosty program AI. Tak, możemy to łatwo zrobić za pomocą Pythona, nawet z rozpoznawaniem mowy! To świetna funkcja, którą możesz wypróbować po wykładzie.
GO TO FULL VERSION