Prosty język programowania w Pythonie 3. Język programowania Python dla początkujących. Instrukcje kontroli przepływu — jeśli, na, chwilę

Kilkadziesiąt lat temu programiści wydawali się być szamanami, którzy wiedzieli, co jest niedostępne dla innych. Czasami ludzie uczyli się programowania na kolanach, pisania kodu na kartce papieru, ponieważ „koncentracja urządzeń komputerowych na mieszkańca” była niezwykle niska. Teraz trudno znaleźć osobę, która nie ma w domu komputera stacjonarnego lub laptopa. Technologie edukacyjne również nie stoją w miejscu.

Trochę historii

Język programowania Python został opracowany przez Guido van Rossuma pod koniec lat osiemdziesiątych. Guido był wówczas pracownikiem holenderskiego Instytutu CWI. Pisał ten język w wolnym czasie, umieszczając tam kilka pomysłów na język ABC, do których się przyczynił.

Język nie został nazwany na cześć gada. W rzeczywistości pomysł na nazwę był popularnym brytyjskim programem komediowym lat siedemdziesiątych pod tytułem „Latający Cyrk Monty Pythona”, choć Pythona wciąż znacznie częściej porównuje się do węża, jak choćby emblemat na oficjalnej stronie internetowej (pokazuje dwa węże). głowy) pokazuje.

To nie tylko intuicja projektowa van Rossuma jest uważana za powód, dla którego język programowania Python jest tak popularny. Nauka od podstaw staje się przyjemnym i łatwym doświadczeniem, biorąc pod uwagę obecność przyjaznej społeczności użytkowników.

Nie tak dawno temu, w 2008 roku, ukazała się pierwsza, od dawna testowana wersja Pythona 3000 (3.0), w której wyeliminowano wiele błędów architektonicznych. Jednocześnie programiści starali się zachować kompatybilność z poprzednimi wersjami języka. Chociaż istnieje nowsza wersja, obsługiwane są obie gałęzie (2.xi 3.x).

Zwięzły język programowania

Python ma wiele zalet w porównaniu z innymi językami. Jest zrozumiały niemal intuicyjnie, ma „przejrzystą” składnię. Oznacza to, że kod programu w tym języku jest znacznie łatwiejszy do odczytania, co skraca czas nie tylko na jego napisanie, ale także na różne usprawnienia i sprawdzenia.

Oczywiście programista „starej szkoły” powie, że na pewno trzeba znać kilka języków, a nawet można zacząć od nauki kodu maszynowego. Ale po ukończeniu kursu programowania w języku Python osoba otrzyma nie tylko konkretną wiedzę, ale także możliwość realizacji swojej twórczej natury poprzez tworzenie użytecznych dla siebie aplikacji i programów. Być może już niedługo programowanie będzie tak samo potrzebne, jak znajomość języka obcego.

Zwątpienie w siebie

Warto odrzucić błędne przekonanie, że programowanie jest trudne. Nie, programowanie jest o wiele ciekawsze niż się wydaje; inne czynności i tzw. „brak czasu” lub lenistwo mogą przeszkadzać.

Podstawowa literatura pomoże Ci szybko nauczyć się programowania w języku Python. Szkolenie warto rozpocząć od przeczytania dwóch książek, z których można nauczyć się podstaw. Pierwsza to „Programowanie w Pythonie” Marka Lutza, a druga to „Programowanie w Pythonie 3” Marka Summerfielda. Książka Lutza opisuje szczegółowo, czasem nawet za bardzo, wszystkie podstawowe zasady, na których zbudowany jest język. Niektórzy zalecają czytanie Marka Lutza nie dla opanowania, ale dla pogłębienia podstawowej wiedzy. Książka Summerfielda wyjaśnia wszystko bardziej zwięźle, autor nie straszy czytelnika żadnymi trudnościami. Istnieje inna literatura, ale te podręczniki są najbardziej przydatne i pouczające.

kurs wprowadzający

Wróćmy myślami do szkoły podstawowej. Z reguły nawet dziecko przychodzi do pierwszej klasy z minimalną wiedzą: rodzice uczyli się z kimś, ktoś poszedł do „zera”. To samo dotyczy nauki języka programowania Python. Jest to naprawdę wygodne i „przejrzyste”, ale bez minimalnej znajomości podstawowych zasad programów szkolenie będzie trudne. To jak nauka muzyki bez słuchania muzyki. Dlatego ci, którzy nigdy w ogóle nie mieli do czynienia z programowaniem, powinni zapoznać się z „minimalnym wprowadzeniem”.

Przydatną pomocą będą wykłady CS50. Jest to kurs na Harvard University poświęcony programowaniu w języku Java Script, ale pierwsze wykłady wyjaśniają interakcje między komputerem a ogólnie programami w przystępny i zrozumiały sposób. Użytkownik rosyjskojęzyczny ma dostęp do nagrań wideo z tego kursu wraz z tłumaczeniem, materiałami dodatkowymi, wersjami tekstowymi wykładów oraz zadaniami praktycznymi. Filmy można znaleźć prawie wszędzie, na przykład na YouTube, ale cała zawartość znajduje się w witrynie Java Script.

W Internecie

Język programowania Python zyskuje na popularności, dlatego od dłuższego czasu istnieje kilka portali z dużą ilością materiałów do samodzielnej nauki. Na przykład „Python 3 dla początkujących”. Ta strona zawiera wiele materiałów dla początkujących, może służyć jako ściągawka. Istnieje również duża ilość informacji na ten temat z bezpłatnym dostępem na stronie Codecademy.

Komunikacja na forum jest ważna. Samodzielna nauka jest zawsze trudniejsza, więc nie zaniedbuj różnych społeczności.

Płatne kursy

Zawsze możesz skorzystać z płatnych kursów, ale czasami kosztuje to dużo pieniędzy, a wynik może być niezadowalający. Dlatego oczywiście wskazane jest wybranie kursów, które oferują bezpłatne zadanie wprowadzające. Na przykład w GeekBrains intensywnie poruszany jest temat „Podstawy programowania w Pythonie”. Zajęcia są bezpłatne i odbywają się co 10 dni. Aby się zarejestrować, musisz zalogować się do serwisu.

Wskazówka: bez względu na to, jaki kurs wybierzesz, najpierw zapoznaj się z podstawami języka, aby nie tracić czasu na coś, co możesz łatwo zdobyć samodzielnie. Wystarczy przeczytać powyższe książki.

Oczywiście po opanowaniu teorii chcę ćwiczyć. W tym miejscu należy wspomnieć o wykładach Nicka Parlante. Są po angielsku, chociaż ogólnie jest dużo dobrej literatury edukacyjnej w języku angielskim i nie powinno to dziwić. Na wykładach Nick nie tylko uczy języka programowania Python, ale także daje doskonałe zadania praktyczne.

Stosowanie

Język programowania Python został wykorzystany do stworzenia wielu aplikacji, z których wiele osób korzysta na co dzień. Na przykład jest to szósta wersja klienta torrentowego BitTorrent. Również "Python" ("Pyton") jest używany w edytorze grafiki bitmapowej Gimp. Dzięki niemu powstają dodatkowe moduły, np. filtry. Wiele z Civilization IV i Batterfield 2 jest napisanych w tym języku.

Z Pythona korzystają takie firmy jak Google, Facebook, Instagram, Dropbox, Pinterest. Działa również w rdzeniu aplikacji Yandex Disk. Około 10% pracowników firmy pisze w Pythonie, a wielu programistów nazywa to swoim ulubionym językiem.

Jak zacząć

Żaden kod nie może działać „w powietrzu”, język programowania Python również przestrzega tej zasady. Nauka od zera, choć zaczyna się od teorii, tak naprawdę można powiedzieć, że zaczyna się od instalacji środowiska pracy na komputerze osobistym. Jak to zrobić? To proste: musisz kliknąć link na oficjalnej stronie Pythona, pobrać i uruchomić instalator, a następnie uważnie wykonać sugerowane przez niego kroki.

Pamiętaj, że musisz pobrać plik odpowiedni dla systemu operacyjnego zainstalowanego na Twoim komputerze!

Jeśli instalacja się powiodła, otwórz konsolę (zazwyczaj można to zrobić za pomocą skrótu klawiaturowego „ctrl + alt + T”). Teraz możesz napisać swój pierwszy program. Na przykład wpisz „python3”. Jeśli konsola wyświetliła „pozdrowienie”, w którym wskazana jest wersja programu (na przykład 3.4.0), wszystko jest w porządku, jeśli nie, musisz zainstalować trzecią wersję „Pythona” za pomocą polecenia: "sudo apt-get install python3".
Nie jest to jednak wymagane. Możesz napisać kod w dowolnym wygodnym edytorze tekstu, a następnie uruchomić go za pomocą konsoli lub użyć środowiska programistycznego IDLE, które jest dostarczane z dystrybucją.

Rozpocznij BEZCZYNNOŚĆ. Wystarczy jeden wiersz kodu, aby stworzyć mały program.

print("Witaj świecie!")

Wpisz ten kod w oknie IDLE i naciśnij enter. Środowisko natychmiast zareaguje akcją - wyświetli na ekranie wymagany tekst. Pierwszy program jest gotowy.

Programowanie w Pythonie

Część 1. Funkcje językowe i podstawowa składnia

Seria treści:

Czy warto uczyć się Pythona?

Python to jeden z najpopularniejszych współczesnych języków programowania. Nadaje się do rozwiązywania różnych problemów i oferuje te same funkcje, co inne języki programowania: dynamikę, obsługę OOP i wieloplatformowość. Rozwój Pythona rozpoczął Guido Van Rossum w połowie lat 90., więc do tej pory udało mu się pozbyć standardowych chorób „dziecięcych”, znacznie rozwinąć najlepsze aspekty języka i przyciągnąć wielu programistów, którzy używają Pythona do realizują swoje projekty.

Wielu programistów uważa, że ​​trzeba uczyć się tylko „klasycznych” języków programowania, takich jak Java czy C++, ponieważ inne języki i tak nie będą w stanie zapewnić tych samych możliwości. Ostatnio jednak pojawiło się przekonanie, że programista powinien znać więcej niż jeden język, gdyż poszerza to jego horyzonty, pozwala mu bardziej kreatywnie rozwiązywać zadania i zwiększa jego konkurencyjność na rynku pracy.

Nauka dwóch języków takich jak Java i C++ do perfekcji jest dość trudna i zajęłaby dużo czasu; ponadto wiele aspektów tych języków jest ze sobą sprzecznych. Jednocześnie Python idealnie nadaje się do roli drugiego języka, ponieważ jest natychmiast asymilowany ze względu na istniejącą już wiedzę w zakresie OOP oraz fakt, że jego możliwości nie kolidują, ale uzupełniają doświadczenie zdobyte podczas pracy z innym programowaniem język.

Jeśli programista dopiero zaczyna pracę w dziedzinie tworzenia oprogramowania, Python będzie idealnym „wprowadzającym” językiem programowania. Ze względu na swoją zwięzłość pozwoli szybko opanować składnię języka, a brak „dziedzictwa” w postaci ukształtowanych przez lata aksjomatów pomoże szybko opanować OOP. Ze względu na te czynniki, krzywa uczenia się Pythona będzie dość krótka, a programista będzie mógł przejść od studiów przypadku do projektów komercyjnych.

Dlatego niezależnie od tego, czy czytelnik tego artykułu jest doświadczonym programistą, czy też początkującym w dziedzinie tworzenia oprogramowania, odpowiedź na pytanie, jakim jest tytuł tego rozdziału, powinna być zdecydowanym tak.

Ta seria artykułów ma na celu pomóc Ci skutecznie przezwyciężyć krzywą uczenia się poprzez konsekwentne dostarczanie informacji od najbardziej podstawowych zasad języka po jego zaawansowane możliwości w zakresie integracji z innymi technologiami. W pierwszym artykule omówimy główne funkcje i składnię Pythona. W przyszłości przyjrzymy się bardziej złożonym aspektom pracy z tym popularnym językiem, w szczególności programowaniu obiektowym w Pythonie.

Architektura Pythona

Każdy język, czy to programowania, czy komunikacji, składa się z co najmniej dwóch części - słownictwa i składni. Język Python jest zorganizowany w ten sam sposób, zapewniając składnię do generowania wyrażeń tworzących programy wykonywalne oraz słownik, zestaw funkcji w postaci standardowej biblioteki i wtyczek.

Jak już wspomniano, składnia Pythona jest dość zwięzła, zwłaszcza w porównaniu z Javą lub C++. Z jednej strony jest to dobre, ponieważ im prostsza składnia, tym łatwiej jest się jej nauczyć i tym mniej błędów można popełnić w procesie jej używania. Jednak takie języki mają wadę - mogą służyć do przekazywania najprostszych informacji i nie mogą wyrażać złożonych struktur.

Nie dotyczy to Pythona, ponieważ jest to prosty, ale uproszczony język. Faktem jest, że Python jest językiem o wyższym poziomie abstrakcji, wyższym na przykład niż Java i C++ i pozwala na przesłanie tej samej ilości informacji w mniejszej ilości kodu źródłowego.

Ponadto Python jest językiem ogólnego przeznaczenia, więc może być używany w prawie każdym obszarze tworzenia oprogramowania (autonomiczny, klient-serwer, aplikacje internetowe) i w dowolnym obszarze tematycznym. Ponadto Python łatwo integruje się z istniejącymi komponentami, co umożliwia osadzenie Pythona w już napisanych aplikacjach.

Inną częścią sukcesu Pythona są jego moduły rozszerzeń, zarówno standardowe, jak i specyficzne. Standardowe moduły rozszerzeń Pythona to dobrze zaprojektowana i sprawdzona funkcjonalność do rozwiązywania problemów pojawiających się w każdym projekcie programistycznym, przetwarzania ciągów i tekstu, interakcji z systemem operacyjnym, obsługi aplikacji internetowych. Moduły te są również napisane w Pythonie, więc mają swoją najważniejszą właściwość – cross-platform, która pozwala szybko i bezboleśnie przenosić projekty z jednego systemu operacyjnego do drugiego.

Jeśli potrzebna funkcjonalność nie znajdowała się w standardowej bibliotece Pythona, możesz stworzyć własny moduł rozszerzający do jego późniejszego ponownego użycia. Warto w tym miejscu zauważyć, że moduły rozszerzeń dla Pythona można tworzyć nie tylko w samym Pythonie, ale także przy użyciu innych języków programowania. W takim przypadku możliwe staje się bardziej wydajne wdrażanie zadań wymagających dużej ilości zasobów, takich jak złożone obliczenia naukowe, ale przewaga wieloplatformowości zostaje utracona, jeśli język modułu rozszerzeń sam w sobie nie jest wieloplatformowy, jak Python.

Środowisko uruchomieniowe Pythona

Jak wiadomo, wszystkie wieloplatformowe języki programowania są budowane według tego samego modelu: jest to prawdziwie przenośny kod źródłowy i środowisko uruchomieniowe, które nie jest przenośne i jest specyficzne dla każdej konkretnej platformy. To środowisko wykonawcze zwykle zawiera interpreter, który wykonuje kod źródłowy i różne narzędzia potrzebne do obsługi aplikacji — debuger, odwrotny asembler i tak dalej.

Środowisko Java Runtime Environment zawiera dodatkowo kompilator, ponieważ kod źródłowy musi zostać skompilowany do postaci kodu bajtowego wirtualnej maszyny języka Java. Środowisko uruchomieniowe Pythona zawiera tylko interpreter, który jest również kompilatorem, ale kompiluje kod źródłowy Pythona bezpośrednio do kodu natywnego platformy docelowej.

Obecnie istnieją trzy znane implementacje środowiska uruchomieniowego dla Pythona: CPython, Jython i Python.NET. Jak sama nazwa wskazuje, pierwsze środowisko jest zaimplementowane w C, drugie w Javie, a ostatnie w .NET.

Środowisko wykonawcze CPython jest zwykle określane po prostu jako Python, a kiedy ludzie mówią o Pythonie, najczęściej mówi się o tej implementacji. Ta implementacja składa się z interpretera i modułów rozszerzeń napisanych w C i może być używana na dowolnej platformie, dla której dostępny jest standardowy kompilator C. Ponadto istnieją już skompilowane wersje runtime dla różnych systemów operacyjnych, w tym różnych wersji OC Windows i różne dystrybucje linux. W tym i kolejnych artykułach CPython będzie brane pod uwagę, chyba że określono inaczej.

Środowisko wykonawcze Jython to implementacja Pythona do pracy z wirtualną maszyną Java (JVM). Obsługiwana jest dowolna wersja JVM, począwszy od wersji 1.2.2 (obecna wersja Javy to 1.6). Jython wymaga zainstalowanej maszyny Java (środowiska wykonawczego Java) i pewnej znajomości języka programowania Java. Nie musisz wiedzieć, jak napisać kod źródłowy Java, ale musisz znać pliki JAR i aplety Java, a także dokumentację w formacie JavaDOC.

Wybór wersji środowiska zależy wyłącznie od preferencji programisty, ogólnie zaleca się trzymanie na komputerze zarówno CPythona, jak i Jythona, ponieważ nie kolidują one ze sobą, ale wzajemnie się uzupełniają. Środowisko CPython jest szybsze, ponieważ nie ma warstwy pośredniej w postaci JVM; ponadto zaktualizowane wersje Pythona są najpierw wydawane jako środowisko CPython. Jednak Jython może używać dowolnej klasy Java jako modułu rozszerzenia i działać na dowolnej platformie, dla której istnieje implementacja JVM.

Oba środowiska uruchomieniowe są wydawane na licencji zgodnej z dobrze znaną GPL, dzięki czemu mogą być używane do tworzenia zarówno komercyjnego, jak i wolnego/wolnego oprogramowania. Większość modułów rozszerzeń dla Pythona jest również wydana na licencji GPL i można ich swobodnie używać w dowolnym projekcie, ale istnieją również rozszerzenia komercyjne lub rozszerzenia z bardziej rygorystycznymi licencjami. Dlatego używając Pythona w projekcie komercyjnym, musisz być świadomy, jakie ograniczenia istnieją w licencjach wtyczek rozszerzenia.

Pierwsze kroki z Pythonem

Zanim zaczniesz używać Pythona, musisz zainstalować jego środowisko uruchomieniowe - w tym artykule jest to CPython i odpowiednio interpreter Pythona. Istnieją różne metody instalacji: doświadczeni użytkownicy mogą samodzielnie skompilować Pythona z jego publicznego kodu źródłowego, można również pobrać gotowe pliki wykonywalne dla konkretnego systemu operacyjnego ze strony www.python.org, a na koniec wiele dystrybucji Linuksa zawiera Interpreter Pythona już preinstalowany. W tym artykule użyto wersji Pythona 2.x dla systemu Windows, ale podane przykłady można uruchomić w dowolnej wersji Pythona.

Po wdrożeniu przez instalatora plików wykonywalnych Pythona w określonym katalogu należy sprawdzić wartości następujących zmiennych systemowych:

  • ŚCIEŻKA. Ta zmienna musi zawierać ścieżkę do katalogu, w którym zainstalowany jest Python, aby system operacyjny mógł go znaleźć.
  • PYTHONHOME. Ta zmienna powinna zawierać tylko ścieżkę do katalogu, w którym zainstalowany jest Python. Ten katalog powinien również zawierać podkatalog lib, który będzie przeszukiwany pod kątem standardowych modułów Pythona.
  • ŚCIEŻKA PYTONU. Zmienna z listą katalogów zawierających moduły rozszerzeń, które będą podłączone do Pythona (elementy listy muszą być oddzielone separatorem systemowym).
  • PYTHONSTARTUP . Opcjonalna zmienna definiująca ścieżkę do skryptu Pythona, który powinien być wykonywany za każdym razem, gdy rozpoczynana jest interaktywna sesja interpretera języka Python.

Linia poleceń do pracy z interpreterem ma następującą strukturę.

PYTHONHOME\python (opcje) [ -c polecenie | plik skryptu | - ] (argumenty)

Tryb interaktywny Pythona

Jeśli uruchomisz interpreter bez podania polecenia lub pliku skryptu, będzie on działał w trybie interaktywnym. W tym trybie uruchamiana jest specjalna powłoka Pythona, do której można wprowadzać poszczególne polecenia lub wyrażenia, a ich wartość zostanie natychmiast obliczona. Jest to bardzo wygodne przy nauce Pythona, ponieważ możesz od razu sprawdzić poprawność konkretnej konstrukcji.

Wartość wyliczanego wyrażenia jest przechowywana w specjalnej zmiennej o nazwie Pojedynczy znak podkreślenia (_), dzięki czemu może być używana w kolejnych wyrażeniach. Sesję interaktywną można zakończyć, naciskając Ctrl-Z w systemie Windows lub Ctrl-D w systemie Linux.

Opcje są opcjonalnymi wartościami ciągu, które mogą zmienić zachowanie interpretera podczas sesji; ich znaczenie zostanie omówione w tym i kolejnych artykułach. Po opcjach następuje albo pojedyncze polecenie, które interpreter powinien wykonać, albo ścieżka do pliku zawierającego skrypt do wykonania. Warto zauważyć, że polecenie może składać się z kilku wyrażeń oddzielonych średnikami i musi być ujęte w cudzysłów, aby system operacyjny mógł poprawnie przekazać je do interpretera. Argumenty to te parametry, które są przekazywane do dalszego przetwarzania do skryptu wykonywalnego; są one przekazywane do programu jako ciągi znaków i oddzielone spacjami.

Możesz uruchomić następujące polecenia, aby sprawdzić, czy Python jest poprawnie zainstalowany i działa:

c:\>python-v
c:\> python –c „czas importu; drukuj czas.asctime()”

Opcja -v wyświetla używaną wersję implementacji Pythona i kończy działanie, podczas gdy drugie polecenie wyświetla na ekranie wartość czasu systemowego.

Możesz pisać skrypty Pythona w dowolnym edytorze tekstu, ponieważ są to zwykłe pliki tekstowe, ale istnieją specjalne środowiska programistyczne zaprojektowane do pracy z Pythonem.

Podstawy składni Pythona

Skrypty kodu źródłowego Pythona składają się z tzw ciągi logiczne, z których każdy z kolei składa się z fizyczne struny. Symbol # służy do oznaczania komentarzy. Komentarze i puste wiersze są ignorowane przez tłumacza.

Poniżej znajduje się bardzo ważny aspekt, który może wydawać się dziwny programistom uczącym się Pythona jako drugiego języka programowania. Chodzi o to, że nie ma w Pythonie symbolu odpowiedzialnego za oddzielenie wyrażeń od siebie w kodzie źródłowym, jak na przykład średnik (;) w C++ czy Javie. Średnik umożliwia oddzielenie wielu instrukcji, jeśli znajdują się one na tej samej linii fizycznej. Nie ma też takiej konstrukcji jak nawiasy klamrowe (), która pozwala połączyć grupę instrukcji w jeden blok.

Fizyczne ciągi są oddzielone samym znakiem końca wiersza, ale jeśli wyrażenie jest zbyt długie dla jednego ciągu, dwa fizyczne ciągi można połączyć w jeden logiczny. W tym celu należy na końcu pierwszej linii wpisać znak odwrotnego ukośnika (\), a następnie kolejna linia zostanie zinterpretowana przez interpreter jako kontynuacja pierwszej, jednak nie jest możliwe, aby inne znaki być w pierwszym wierszu po znaku \, na przykład komentarz z #. Wcięcie służy do wyróżniania bloków kodu. Linie logiczne z tym samym rozmiarem wcięcia tworzą blok, a blok kończy się, gdy pojawi się linia logiczna z mniejszym wcięciem. Dlatego pierwsza linia w skrypcie Pythona nie powinna być wcięta. Opanowanie tych prostych zasad pomoże Ci uniknąć większości błędów związanych z nauką nowego języka.

W składni Pythona nie ma innych radykalnych różnic w stosunku do innych języków programowania. Istnieje standardowy zestaw operatorów i słów kluczowych, z których większość jest już znana programistom, ale te specyficzne dla Pythona zostaną omówione w tym i kolejnych artykułach. Stosowane są również standardowe zasady ustalania identyfikatorów zmiennych, metod i klas - nazwa musi zaczynać się od podkreślenia lub łacińskiego znaku dowolnej wielkości i nie może zawierać @, $, %. Ponadto tylko jeden znak podkreślenia nie może być użyty jako identyfikator (patrz przypis dotyczący trybu interaktywnego).

Typy danych używane w Pythonie

Typy danych używane w Pythonie są również takie same jak w innych językach - typy danych całkowitych i rzeczywistych; dodatkowo obsługiwany jest złożony typ danych - z częścią rzeczywistą i urojoną (przykładem takiej liczby jest 1,5J lub 2j, gdzie J jest pierwiastkiem kwadratowym z -1). Python obsługuje łańcuchy, które mogą być ujęte w pojedyncze, podwójne lub potrójne cudzysłowy, podczas gdy łańcuchy, podobnie jak w Javie, są obiektami niezmiennymi, tj. nie mogą zmienić ich wartości po stworzeniu.

W Pythonie istnieje również logiczny typ danych bool z dwiema opcjami wartości - True i False. Jednak starsze wersje Pythona nie miały tego typu danych, a ponadto każdy typ danych mógł być rzutowany na wartość logiczną True lub False. Wszystkie liczby niezerowe i niepuste ciągi lub zbiory danych były traktowane jako Prawda, natomiast wartości puste i zerowe były traktowane jako Fałsz. Ta funkcja została zachowana w nowych wersjach Pythona, jednak aby zwiększyć czytelność kodu, zaleca się używanie typu bool dla zmiennych boolowskich. Jednocześnie, jeśli chcesz zachować kompatybilność wsteczną ze starszymi implementacjami Pythona, powinieneś używać 1 (prawda) lub 0 (fałsz) jako zmiennych binarnych.

Funkcjonalność do pracy z zestawami danych

Python definiuje trzy typy kolekcji do przechowywania zbiorów danych:

  • krotka;
  • lista (lista);
  • słownik.

Krotka to niezmienna uporządkowana sekwencja danych. Może zawierać elementy różnego typu, takie jak inne krotki. Krotka jest zdefiniowana w nawiasach, a jej elementy są oddzielone przecinkami. Specjalna wbudowana funkcja tuple() umożliwia tworzenie krotek z podanej sekwencji danych.

Lista jest zmienną, uporządkowaną sekwencją elementów. Elementy listy są również oddzielone przecinkami, ale są już umieszczone w nawiasach kwadratowych. Funkcja list() służy do tworzenia list.

Słownik to tablica mieszająca, która przechowuje element wraz z jego identyfikatorem klucza. Kolejny dostęp do elementów jest również wykonywany przez klucz, więc jednostką pamięci w słowniku jest para obiektów klucza i powiązany obiekt wartości. Słownik jest zmienną, ale nie uporządkowaną kolekcją, więc kolejność elementów w słowniku może się zmieniać w czasie. Słownik jest określony w nawiasach klamrowych, klucz jest oddzielony od wartości dwukropkiem, a same pary klucz/wartość są oddzielone przecinkami. Funkcja dict() jest dostępna do tworzenia słowników.

Listing 1 pokazuje przykłady różnych kolekcji dostępnych w Pythonie.

Listing 1. Typy kolekcji dostępne w Pythonie
('w','o','r','l','d') # krotka pięciu elementów (2.62,) # krotka jednego elementu [“test”,"me"] # lista dwóch elementów # pusta lista (5:'a', 6:'b', 7:'c' ) # 3-elementowy słownik z kluczami int

Definiowanie funkcji w Pythonie

Chociaż Python obsługuje OOP, jednak wiele jego funkcji jest zaimplementowanych jako oddzielne funkcje; dodatkowo moduły rozszerzeń najczęściej wykonywane są również w postaci biblioteki funkcji. Funkcje są również używane w klasach, gdzie tradycyjnie nazywa się je metodami.

Składnia definiowania funkcji w Pythonie jest niezwykle prosta; z zastrzeżeniem powyższych wymagań:

def FUNCTION_NAME(parametry): wyrażenie #1 wyrażenie #2 ...

Jak widać, konieczne jest użycie słowa kluczowego def, dwukropka i wcięcia. Wywołanie funkcji jest również bardzo proste:

FUNCTION_NAME(parametry)

Należy wziąć pod uwagę tylko kilka rzeczy specyficznych dla Pythona. Podobnie jak w Javie wartości pierwotne są przekazywane przez wartość (kopia parametru dostaje się do funkcji i nie może zmienić wartości ustawionej przed wywołaniem funkcji), a złożone typy obiektów są przekazywane przez referencję (przekazywana jest referencja do funkcji i może równie dobrze zmienić obiekt).

Parametry można przekazywać albo po prostu według kolejności wyliczenia, albo według nazwy, w tym przypadku podczas wywoływania nie trzeba określać tych parametrów, dla których istnieją wartości domyślne, a jedynie przekazywać obowiązkowe lub zmieniać kolejność parametrów podczas wywoływania funkcjonować:

#funkcja dokonująca dzielenia liczb całkowitych - za pomocą operatora // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # wynik pracy: 10 print divide(delitel=5, delimoe=50) # wynik działa: 10

Funkcja w Pythonie musi zwrócić wartość, albo jawnie za pomocą instrukcji return, po której następuje wartość zwracana, albo, w przypadku braku instrukcji return, zwracając stałą None po osiągnięciu końca funkcji. Jak widać na przykładach deklaracji funkcji, w Pythonie nie trzeba określać, czy coś jest zwracane z funkcji, czy nie, jednak jeśli w funkcji jest jedna instrukcja return, która zwraca wartość, to inne instrukcje return w ta funkcja musi zwracać wartości, a jeśli istnieje taka wartość nie, należy jawnie napisać zwróć None.

Jeśli funkcja jest bardzo prosta i składa się z jednej linii, to można ją zdefiniować bezpośrednio w miejscu użycia, w Pythonie taką konstrukcję nazywa się funkcją lambda (lambda). Funkcja lambda jest funkcją anonimową (bez własnej nazwy), której treścią jest instrukcja return, która zwraca wartość jakiegoś wyrażenia. Takie podejście może być wygodne w niektórych sytuacjach, ale warto zauważyć, że ponowne wykorzystanie takich funkcji jest niemożliwe („tam, gdzie się urodziłeś, przydało się”).

Warto też opisać stosunek Pythona do wykorzystania rekurencji. Domyślnie głębokość rekurencji jest ograniczona do 1000 poziomów, a po przekroczeniu tego poziomu zostanie zgłoszony wyjątek i program zostanie zatrzymany. Jednak w razie potrzeby ten limit można zmienić.

Funkcje w Pythonie mają inne ciekawe cechy, takie jak dokumentacja czy możliwość definiowania funkcji zagnieżdżonych, ale zostaną one omówione w kolejnych artykułach z serii z bardziej złożonymi przykładami.

O Pyton(lepiej powiedzieć „python”, choć niektórzy mówią „python”) – temat tego opracowania, twórca tego języka programowania, Holender Guido van Rossum, najlepiej mówi:

„Python jest interpretowanym, zorientowanym obiektowo, wysokopoziomowym językiem programowania z dynamiczną semantyką. Wbudowane struktury danych wysokiego poziomu w połączeniu z pisanie dynamiczne i wiązanie sprawiają, że język jest atrakcyjny do szybkiego tworzenia aplikacji (RAD, Rapid Application Development). Ponadto może być używany jako język skryptowy do łączenia komponentów oprogramowania. Składnia Pythona jest łatwa do nauczenia i kładzie nacisk na czytelność kodu, co zmniejsza koszty utrzymania oprogramowania. Python obsługuje moduły i pakiety, zachęcając do modułowości i ponownego wykorzystania kodu. Interpreter Pythona i duża biblioteka standardowa są dostępne bezpłatnie jako kod źródłowy i wykonywalny dla wszystkich głównych platform i można je bezpłatnie rozpowszechniać”.

W trakcie badania znaczenie tej definicji zostanie ujawnione, ale na razie wystarczy wiedzieć, że Python jest uniwersalnym językiem programowania. Ma swoje zalety i wady, a także obszary zastosowania. Python jest dostarczany z obszerną standardową biblioteką do szerokiego zakresu zadań. Biblioteki wysokiej jakości dla Pythona są dostępne w Internecie w różnych obszarach tematycznych: narzędzia do edycji tekstu i technologie internetowe, przetwarzanie obrazów, narzędzia do tworzenia aplikacji, mechanizmy dostępu do baz danych, pakiety do obliczeń naukowych, biblioteki do budowania GUI itp. Ponadto Python ma dość proste sposoby integracji z C, C++ (i Javą) zarówno poprzez osadzenie interpretera w programach w tych językach, jak i odwrotnie, poprzez wykorzystanie bibliotek napisanych w tych językach w programach Pythona. Język Python obsługuje kilka paradygmaty programowanie: imperatywne (podejście proceduralne, strukturalne, modułowe), programowanie obiektowe i funkcjonalne.

Możemy uznać, że Python to cała technologia tworzenia oprogramowania (i jego prototypów). Jest dostępny na prawie wszystkich nowoczesnych platformach (zarówno 32-bitowych, jak i 64-bitowych) z kompilatorem C oraz na platformie Java.

Może się wydawać, że w branży oprogramowania nie ma miejsca na nic innego niż C/C++, Java, Visual Basic, C#. Jednak tak nie jest. Być może dzięki temu kursowi wykładów i praktycznym ćwiczeniom Python będzie miał nowych zwolenników, dla których stanie się nieodzownym narzędziem.

Jak opisać język?

Nie jest intencją tego wykładu systematyczne opisywanie Pythona: istnieje do tego oryginalna instrukcja obsługi. Tutaj proponuje się rozpatrywanie języka jednocześnie w kilku aspektach, co osiąga się za pomocą zestawu przykładów, które pozwolą szybko połączyć się z prawdziwym programowaniem niż w przypadku podejścia stricte akademickiego.

Warto jednak zwrócić uwagę na prawidłowe podejście do opisu języka. Tworzenie programu jest zawsze komunikacją, w której programista przekazuje komputerowi informacje niezbędne do wykonania przez niego działań. Sposób, w jaki programista rozumie te działania (czyli „znaczenie”), można nazwać semantyka. Sposobem przekazania tego znaczenia jest: składnia język programowania. Otóż ​​to, co robi tłumacz na podstawie zdanego, zwykle nazywa się pragmatyka. Podczas pisania programu bardzo ważne jest, aby w tym łańcuchu nie było błędów.

Składnia to w pełni sformalizowana część: można ją opisać w: język formalny diagramy składni (co jest zrobione w podręcznikach referencyjnych). Wyrazem pragmatyki jest sam tłumacz języka. To on odczytuje „wiadomość” napisaną zgodnie ze składnią i zamienia ją w działania zgodnie z osadzonym w niej algorytmem. Tylko semantyka pozostaje elementem nieformalnym. To właśnie w tłumaczeniu znaczenia na opis formalny leży największa złożoność programowania. Składnia języka Python ma potężne funkcje, które pomagają zbliżyć zrozumienie problemu przez programistę do jego „zrozumienia” przez interpreter. W jednym z ostatnich wykładów omówiona zostanie wewnętrzna struktura Pythona.

Historia języka Python

Python został założony przez Guido van Rossuma w 1991 roku, kiedy pracował nad rozproszonym systemem operacyjnym Amoeba. Potrzebował rozszerzalnego języka, który zapewniłby obsługę wywołań systemowych. Za podstawę przyjęto ABC i Modula-3. Wybrał Pythona jako nazwę po serialu komediowym BBC Latający cyrk Monty Pythona, a nie nazwę węża. Od tego czasu Python ewoluował przy wsparciu organizacji, w których pracował Guido. Język jest doskonalony szczególnie aktywnie w obecnych czasach, gdy pracuje nad nim nie tylko zespół twórców, ale także cała społeczność programistów z całego świata. A jednak ostatnie słowo na temat kierunku rozwoju języka należy do Guido van Rossuma.

Ten materiał jest przeznaczony dla tych, którzy są już zaznajomieni z programowaniem i chcą nauczyć się języka programowania Python. Został zaprojektowany, aby pokazać funkcje języka Python, funkcje składni i podstawowe zasady pracy z Pythonem w 10 minut z przykładami. Nie ma tu „wody” – informacji niezwiązanych bezpośrednio z językiem programowania. Zaczynajmy!

Język programowania Python wyróżnia się silnym typowaniem (silne typowanie wyróżnia się tym, że język nie pozwala na mieszanie różnych typów w wyrażeniach i nie wykonuje automatycznych niejawnych konwersji, np. nie da się odjąć zbioru od napisu) , stosowane jest dynamiczne typowanie - wszystkie typy są rozpoznawane już podczas wykonywania programu.

Deklaracja zmiennej jest opcjonalna, nazwy uwzględniają wielkość liter (var i VAR to dwie różne zmienne).

Python jest językiem zorientowanym obiektowo, wszystko w języku jest obiektem.

Sprowadź pomoc

Pomoc (pomoc) w Pythonie jest zawsze dostępna bezpośrednio w interpreterze. Jeśli chcesz wiedzieć, jak działa obiekt, zadzwoń do pomocy( ). Przydatną instrukcją jest także dir() , która pokazuje wszystkie metody obiektu i właściwości obiektów .__doc__ , który pokaże ci dokument:

>>> help(5) Pomoc do obiektu int: (etc etc) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(liczba) -> liczba Zwróć bezwzględną wartość argumentu."

Składnia Pythona

Python nie ma konstrukcji kończących bloki (takich jak na przykład deklaracja klasy lub funkcji) — bloki definiuje się za pomocą wcięć. Zwiększ wcięcie na początku bloku, zmniejsz na końcu bloku. Instrukcje wymagające wcięcia kończone są dwukropkiem (:). Jeśli nie masz żadnego kodu po instrukcji bloku start, wstaw instrukcję pass, aby przekazać kontrolę składni.

Podczas gdy lista zasięgu == 1: pass

Komentarze jednowierszowe zaczynają się od krzyżyka (#), komentarze wielowierszowe używają (""") na początku i na końcu komentarza.

Wartości są przypisywane za pomocą znaku równości („=") (w rzeczywistości obiektom przypisuje się nazwy w procesie).

Sprawdzanie różnic odbywa się za pomocą dwóch znaków równości ("==").

Możesz zwiększyć wartość za pomocą operatora += i zmniejszyć ją za pomocą -=, określając zmienną po lewej stronie, a wartość o jaką nastąpi wzrost / spadek po prawej. Działa to z wieloma typami danych w Pythonie, w tym z łańcuchami.

Możesz przypisać wartość do wielu zmiennych w tym samym wierszu. Przykłady:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """To jest komentarz wielowierszowy. Poniższe wiersze łączą dwa łańcuchy.""" >>> mystring = "Witaj" >>> mystring += "world". >>> print mystring Witaj świecie. # To zamienia zmienne w jednym wierszu (!). # Nie narusza to silnego typowania, ponieważ # wartości nie są faktycznie przypisane, ale nowe obiekty są # przypisane do starych nazw. >>> myvar, mystring = myvar

Typy danych w Pythonie

W Pythonie dostępne są typy danych, takie jak listy (listy), krotki (krotki) i słowniki (słowniki). Dostępne są również zestawy, korzystające z modułu sets w wersjach wcześniejszych niż Python 2.5 i wbudowane w język w późniejszych wersjach.

Listy są podobne do tablic jednowymiarowych. Możliwe jest posiadanie listy składającej się z innych list.

Słowniki to tablice asocjacyjne, w których dostęp do danych uzyskuje się za pomocą klucza.

Krotki są niezmiennymi jednowymiarowymi tablicami.

„Tablice” w Pythonie mogą być dowolnego typu, co oznacza, że ​​możesz łączyć liczby, łańcuchy i inne typy danych w listach/słownikach/krotkach.

Indeks pierwszego elementu to 0. Ujemna wartość indeksu zaczyna liczyć od ostatniego do pierwszego, [-1] wskaże na ostatni element.

Zmienne mogą wskazywać na funkcje.

>>> sample = , ("a", "krotka")] >>> mojalista = ["Wyświetl element 1", 2, 3.14] >>> mojalista = "Ponownie wyświetl element 1" # Zmieniamy element >>> mojalista[-1] = 3,21 # Tu odwołujemy się do ostatniego elementu >>> mydict = („Klucz 1”: „Wartość 1”, 2: 3, „pi”: 3,14) >>> mydict[ "pi"] = 3.15 # W ten sposób zmieniasz wartości słownikowe >>> mytuple = (1, 2, 3) >>> mojafunkcja = len >>> print mojafunkcja(mojalista) 3

Tablicę (listę lub krotkę) można podzielić za pomocą dwukropka (:). Pozostawienie pustej wartości początkowej indeksu oznacza rozpoczęcie od pierwszej wartości, pozostawienie pustego końca indeksu oznacza założenie ostatniego elementu tablicy. Indeksy ujemne są liczone wstecz od końca tablicy (-1 oznacza ostatni element).

Zobacz przykłady:

>>> mojalista = ["Lista 1", 2, 3.14] >>> print mojalista[:] ["Lista element 1", 2, 3.140000000000001] >>> print mojalista ["Lista element 1", 2] > >> print mojalista[-3:-1] ["Lista pozycji 1", 2] >>> print mojalista # Dodanie trzeciego parametru, "step" spowoduje w Pythonie krok w # N elementach, zamiast 1. # Np. , to zwróci pierwszy element, a następnie przejdzie do trzeciego i # zwróci go (czyli elementy 0 i 2 w indeksowaniu 0). >>> print mojalista[::2] ["Pozycja listy 1", 3.14]

Ciągi znaków w Pythonie

Do oznaczenia ciągu można użyć apostrofu (‘) lub cudzysłowów (podwójny cudzysłów - „). Z tego powodu wewnątrz ciągu znaków oznaczonego apostrofami mogą znajdować się cudzysłowy (np. „Powiedział „cześć.” jest prawidłowym ciągiem).

Ciągi wielowierszowe są oznaczane za pomocą potrójnego apostrofu lub cudzysłowów ("""). Python obsługuje Unicode po wyjęciu z pudełka. Python 2 używa znaku (u) do oznaczenia ciągu zawierającego Unicode: u"To jest ciąg Unicode". Python3 wszystkie łańcuchy są w standardzie Unicode Jeśli w Python3 chcesz uzyskać sekwencję bajtów, która w poprzednich wersjach była zasadniczo łańcuchem, użyj znaku (b): b"To jest łańcuch bajtów".

Operator (%) i krotka służą do zastępowania wartości parametrów w ciągu. Każdy %s jest zastępowany elementem z krotki, od lewej do prawej. Możesz również użyć słownika, aby zastąpić nazwane parametry:

>>>print "Nazwa: %s\ Numer: %s\ String: %s" % (mojaklasa.nazwa, 3, 3 * "-") Nazwa: Poromenos Numer: 3 String: --- strString = """ To jest ciąg wielowierszowy.""" # OSTRZEŻENIE: Uważaj na końcowe s w "%(key)s". >>> print "To %(czasownik) to %(rzeczownik)s." % ("noun": "test", "verb": "is") To jest test.

Instrukcje kontroli przepływu — jeśli, na, chwilę

Instrukcje if , for i while służą do kontrolowania kolejności wykonywania programu. W Pythonie nie ma przełącznika ani przypadku, jeśli jest używany zamiast tego. For służy do iteracji elementów listy (lub krotki). Aby uzyskać sekwencję liczb, użyj range( ) . Break służy do przerwania wykonywania pętli.

Składnia tej konstrukcji to:

Rangelist = range(10) >>> drukuj listę_zakresów dla liczby w liście_zakresów: # Sprawdź, czy liczba jest jedną z # liczb w krotce. if number in (3, 4, 7, 9): # "Break" kończy # bez wykonywania klauzuli "else". break else: # "Kontynuuj" rozpoczyna następną iterację # pętli. Jest to raczej bezużyteczne, # ponieważ jest to ostatnia instrukcja pętli. continue else: # Klauzula „else” jest opcjonalna i # jest wykonywana tylko wtedy, gdy pętla nie „przełamała się”. " elif rangelist == 3: print "Druga pozycja (listy bazują na 0) to 3" else: print "Nie wiem" while rangelist == 1: pass

Funkcje w Pythonie

Funkcje są deklarowane przy użyciu słowa kluczowego „def”. Argumenty opcjonalne następują po argumentach obowiązkowych w deklaracji funkcji i mają przypisaną wartość domyślną. Podczas wywoływania funkcji możesz przekazać argumenty, określając ich nazwę i wartość, pomijając niektóre opcjonalne argumenty lub umieszczając je w kolejności innej niż zadeklarowana w funkcji.

Funkcje mogą zwracać krotkę, a za pomocą rozpakowywania krotek możesz zwrócić wiele wartości.

Funkcje lambda to specjalne funkcje, które przetwarzają pojedynczy argument.

Parametry są przekazywane za pośrednictwem linku. Dodając elementy do przekazanej listy otrzymasz zaktualizowaną listę poza funkcją. W takim przypadku przypisanie nowej wartości parametrom wewnątrz funkcji pozostanie akcją lokalną. Ponieważ przekazywana jest tylko lokalizacja pamięci, przypisanie nowego obiektu do parametru jako zmiennej spowoduje utworzenie nowego obiektu.

Przykłady kodu:

# To samo co def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int i a_string są opcjonalne, mają wartości domyślne # jeśli jedna nie została przekazana ( 2 i „Domyślny ciąg”, odpowiednio). def pass_example(a_list, an_int=2, a_string="Domyślny ciąg"): a_list.append("Nowy element") an_int = 4 return a_list, an_int, a_string >>> moja_lista = >>> moja_int = 10 >> > print przekazywanie_przyklad(moja_lista, moj_int) (, 4, "Domyslny napis") >>> moja_lista >>> moj_int 10

Klasy Pythona

Python obsługuje ograniczoną formę wielokrotnego dziedziczenia w klasach.

Zmienne i metody prywatne mogą być deklarowane (umownie, nie jest to sprawdzane przez interpreter) za pomocą dwóch znaków podkreślenia na początku i nie więcej niż jednego na końcu nazwy (np.: "__spam").

Możemy również przypisać dowolne nazwy instancjom klas. Zobacz przykłady:

Class MojaKlasa(obiekt): common = 10 def __init__(self): self.myvariable = 3 def mojafunkcja(self, arg1, arg2): return self.myvariable # To jest instancja klasy >>> classinstance = MojaKlasa() >> > classinstance.myfunction(1, 2) 3 # Ta zmienna jest wspólna dla wszystkich klas. >>> classinstance2 = MojaKlasa() >>> classinstance.common 10 >>> classinstance2.common 10 # Zauważ, jak używamy nazwy klasy # zamiast instancji. >>> MojaKlasa.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # To nie zaktualizuje zmiennej w klasie, # zamiast tego powiąże nowy obiekt ze starą # nazwą zmiennej. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MojaKlasa.common = 50 # To się nie zmieniło, ponieważ "common" jest # teraz zmienną instancji. >>> classinstance.common 10 >>> classinstance2.common 50 # Ta klasa dziedziczy z MyClass. Przykładowa # klasa powyżej dziedziczy z "obiektu", co sprawia, że ​​# nazywa się to "klasą nowego stylu". # Wielokrotne dziedziczenie jest deklarowane jako: # class OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # Argument "self" jest przekazywany automatycznie # i odnosi się do instancji klasy, więc możesz ustawić # zmienne instancji jak powyżej, ale z wnętrza class.def __init__(self, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("hello") hello >>> classinstance.myfunction(1, 2) 3 # Ta klasa nie ma elementu .test, ale # i tak możemy go dodać do instancji. Zwróć uwagę #, że będzie to tylko członek klasy. >>> klasainstancja.test = 10 >>> klasainstancja.test 10

Wyjątki w Pythonie

Wyjątki w Pythonie są obsługiwane w blokach try-except:

Def some_function(): try: # Dzielenie przez zero wywołuje wyjątek 10 / 0 z wyjątkiem ZeroDivisionError: print "Ups, niepoprawny." else: # Wyjątek nie wystąpił, wszystko w porządku. pass last: # Jest to wykonywane po uruchomieniu bloku kodu # i obsłużeniu wszystkich wyjątków, # nawet jeśli podczas obsługi zostanie zgłoszony nowy wyjątek. print "Skończyliśmy" z tym." >>> jakaś_funkcja() Ups, nieprawidłowa. Skończyliśmy z tym.

Importowanie modułów w Pythonie

Biblioteki zewnętrzne są używane po imporcie za pomocą słowa kluczowego import. Możesz również skorzystać z importu, aby zaimportować poszczególne funkcje.

Importuj losowe od czasu importuj zegar randomint = random.randint(1, 100) >>> drukuj randomint 64

Praca z plikami w Pythonie

Python ma dużą liczbę bibliotek do pracy z plikami. Na przykład serializacja (konwertowanie danych na ciągi za pomocą biblioteki pickle):

Importuj pickle mylist = ["This", "is", 4, 13327] # Otwórz plik C:\\binary.dat do zapisu. Litera r przed ciągiem nazwy pliku # jest używana, aby zapobiec uchodzeniu odwrotnemu ukośnikowi. mojplik = open(r"C:\\binary.dat", "w") pickle.dump(moja lista, mojplik) mojplik.close() mojplik = open(r"C:\\text.txt", "w" ) myfile.write("To jest przykładowy łańcuch") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "To jest przykładowy łańcuch" myfile .close() # Otwórz plik do odczytu. mojplik = open(r"C:\\binary.dat") loadlist = pickle.load(mojplik) myfile.close() >>> print loadlist ["This", "is", 4, 13327]

Różnorodny

  • Warunki mogą się łączyć, na przykład 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Możesz użyć del, aby usunąć zmienne lub elementy w tablicach.
  • Listy zapewniają bardzo potężne możliwości manipulacji danymi. Możesz skomponować wyrażenie, używając instrukcji for, po których następuje if lub for:
>>> lst1 = >>> lst2 = >>> print >>> print # Sprawdź, czy warunek jest spełniony dla jakichkolwiek elementów. # "any" zwraca prawdę, jeśli jakakolwiek pozycja na liście jest prawdziwa. >>> any(]) True # Dzieje się tak, ponieważ 4 % 3 = 1, a 1 jest prawdą, więc any() # zwraca True. # Sprawdź, w ilu elementach warunek jest spełniony. >>> sum(1 dla i in if i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Zmienne globalne są deklarowane poza funkcjami i mogą być odczytywane bez specjalnych deklaracji wewnątrz, ale jeśli chcesz je zapisać, musisz zadeklarować od początku funkcji za pomocą specjalnego słowa kluczowego „global”, w przeciwnym razie Python przypisze nową wartość do zmiennej lokalnej:
number = 5 def myfunc(): # To wypisze 5. print number def anotherfunc(): # Zgłasza wyjątek, ponieważ zmienna nie została # powiązana przed wydrukowaniem. Python wie, że obiekt # będzie z nim później powiązany i tworzy nowy, lokalny obiekt # zamiast dostępu do obiektu globalnego. print number number = 3 def yetanotherfunc(): global number # To poprawnie zmieni globalne. liczba = 3

Jak nauczyć się języka programowania Python

Ten materiał nie jest kompletnym przewodnikiem po Pythonie. Język programowania Python ma ogromną liczbę bibliotek i różnych funkcji, które poznasz, kontynuując pracę z językiem i studiując dodatkowe źródła.

Jeśli powyższe informacje nie są dla Ciebie wystarczające - obejrzyj rozszerzony materiał opisujący język programowania Python - - zawiera bardziej szczegółowe informacje o języku.

Wśród innych materiałów polecam Learn Python The Hard Way. I oczywiście samouczek Python 2 i samouczek Python 3 .

Wielkie podziękowania dla Stavrosa Korokithakisa za jego doskonały samouczek „Naucz się Pythona w 10 minut”.

Jeśli chcesz coś poprawić w tym materiale - napisz w komentarzach.

Składnia języka Pyton pod wieloma względami podobny składnią do języków takich jak Perl, C i Java, ale jednocześnie ma szereg różnic w stosunku do tych języków programowania. W tym artykule przyjrzymy się niezbędnym podstawy ten język programowania.

Pierwszy program w Pythonie:

Po pierwsze, należy zauważyć, że na Pyton programować można w dwóch trybach: interaktywny oraz oskryptowane

Interaktywny tryb programowania:

Bez podania nazwy pliku jako argumentu zostanie uruchomiony Interpreter Pythona:

Wpisz następujący tekst po wierszu zachęty Pyton i naciśnij Enter:

>>> print "Witaj, Pythonie!"

Jeśli zrobiłeś wszystko poprawnie, tłumacz wyda linię:

Jeśli pojawi się błąd, upewnij się, że przepisałeś kod poprawnie i używasz interpretera 2.x (dla wersji 3.x powinieneś użyć polecenia print ("Hello, Python"))

Tryb programowania skryptów:

Uruchom w wierszu poleceń Pythona z nazwą pliku (jest to również nazywane skryptem) jako parametrem, rozpocznie wykonywanie kodu zapisanego w tym pliku. Po zakończeniu wykonywania skryptu interpreter będzie ponownie nieaktywny.

Stwórzmy prosty program skryptowy w Pyton. Otwórz dowolny edytor tekstu (Sublime, Notepad++, gedit...), utwórz w nim plik z nazwą test i rozszerzeniem .py (wszystkie pliki zawierające kod w Pyton musi mieć rozszerzenie .py) i zapisz znany nam już kod do tego pliku i zapisz plik:

Drukuj "Witaj, Pythonie!"

(Zakłada się, że Interpreter Pythona masz to ustawione w zmiennej PATH, czyli możesz wpisać python w dowolnym katalogu, aby uruchomić interpreter)

Następnie wprowadź następujący wiersz w wierszu polecenia i naciśnij Enter:

Identyfikatory w Pythonie:

Identyfikatory w Pythonie to nazwy używane w odniesieniu do zmiennej, funkcji, klasy, modułu lub innego obiektu. Identyfikator musi zaczynać się od litery (a do Z) lub podkreślenia (_), po których następuje dowolna liczba liter, podkreśleń i cyfr (od 0 do 9).

W Pyton znaki interpunkcyjne lub specjalne, takie jak @, $ lub %, nie są dozwolone jako identyfikatory. Oprócz, Pyton wielkość liter ma znaczenie, to znaczy kot oraz kot to dwie różne nazwy.

Python ma następującą konwencję nazewnictwa identyfikatorów:

  • Nazwy klas zaczynają się od dużej litery, wszystkie inne identyfikatory zaczynają się od małej litery.
  • Użycie podkreślenia jako pierwszego znaku identyfikatora oznacza, że ​​dany identyfikator jest prywatny (zabezpieczony przed użyciem poza klasą).
  • Jeżeli identyfikator zaczyna się i kończy dwoma podkreślnikami (np. __init__) oznacza to, że jest to specjalna nazwa zdefiniowana w języku.

Słowa zastrzeżone (słowa kluczowe) w Pythonie:

Ta tabela zawiera wszystkie Słowa kluczowe w Pythonie.

oraz Elifa jeśli wydrukować
jak w przeciwnym razie import podnieść
zapewniać oprócz w zwrócić
złamać exec jest próbować
klasa wreszcie lambda chwila
kontyntynuj dla nie który
definitywnie od lub dawać
del światowy przechodzić

Te zastrzeżone słowa nie mogą być używane jako nazwa zmiennej ani żaden inny identyfikator. Wszystko Słowa kluczowe w Pythonie składają się tylko z małych liter. Listę słów kluczowych w interpreterze można uzyskać za pomocą polecenia

Pomoc("słowa kluczowe")

Linie i wcięcia:

Jedna z pierwszych funkcji Pyton Tym, co przyciąga wzrok programistów rozpoczynających naukę tego języka programowania, jest to, że nie używa on nawiasów do oznaczania poszczególnych bloków kodu. Zamiast nich w Pyton używane są dwukropki i wcięcie.

Liczba spacji w wcięciach jest dowolna i jest wybierana przez każdego według własnego uznania, jednak zgodnie z umową jest równa czterem spacji. W takim przypadku wcięcie całego bloku powinno być takie samo.

Na przykład ten blok kodu zadziała (chociaż nie powinieneś pisać tego w ten sposób):

Jeśli True: print "Cześć" w przeciwnym razie: print "Bye"

Ten zwróci błąd:

Jeśli prawda: drukuj "Cześć" drukuj "Bye"

Tak więc, w Pyton wiele wierszy kodu z tym samym wcięciem utworzy osobny blok kodu. Dzięki takiemu systemowi znacznie zwiększa się czytelność kodu, a nawyk pisania jest przejrzysty i ustrukturyzowany.

Wyrażenia wielowierszowe:

Wyrażenia w Pythonie zwykle kończy się nową linią. Jednak w tym języku programowania istnieje specjalny znak łamania wiersza (\), wskazujący, że kod nie kończy się końcem wiersza. Na przykład:

Razem = item1 + \item2 + \item3

Wyrażenia znajdujące się w nawiasach kwadratowych: kwadrat ((), kędzierzawy (( )) lub okrągły (()) nie wymagają znaku łamania wiersza. Na przykład:

Dni = ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"]

Cytaty w Pythonie:

W Pyton Do oznaczenia typu danych ciągu można używać cudzysłowów pojedynczych ("), podwójnych ("") i potrójnych (""" lub """), a ciąg musi zaczynać się i kończyć tymi samymi cudzysłowami. Ciąg obejmujący wiele wierszy kodu musi być ujęty w potrójne cudzysłowy. Na przykład:

Name = "wasd" description = "Jakiś tekst" biografia = """ Jakiś długi tekst dla kilku linijek kodu """

Mieć pytania?

Zgłoś literówkę

Tekst do wysłania do naszych redaktorów: