Czy język programowania Python umiera? Czy warto uczyć się Pythona?

Program to zestaw algorytmów zapewniających niezbędne działania. Konwencjonalnie w ten sam sposób można zaprogramować zwykłego człowieka pisząc precyzyjne polecenia, aby np. zrobił herbatę. Jeśli w Ostatnia wersja zostanie użyta mowa naturalna (rosyjski, ukraiński, angielski, koreański itp.), wtedy potrzebny będzie komputer język specjalny programowanie. Jednym z nich jest Python. Środowisko programistyczne przełoży następnie polecenia na i cel osoby, dla której algorytm został stworzony, zostanie spełniony. „Python” ma własną składnię, która zostanie omówiona poniżej.

Historia języka

Rozwój rozpoczął się w latach 80., a zakończył w 1991 r. Język Python został stworzony przez Guido van Rossuma. Chociaż głównym symbolem „Pytona” jest wąż, nazwano go po amerykańskim programie komediowym.

Podczas tworzenia języka deweloper wykorzystał kilka poleceń zapożyczonych z istniejących Pascala, C i C++. Po ukazaniu się pierwszej oficjalnej wersji w Internecie, do jej dopracowywania i ulepszania włączyła się cała grupa programistów.

Jednym z czynników, które pozwoliły Pythonowi stać się dość sławnym, jest projekt. Jest uznawany przez wielu odnoszących sukcesy specjalistów za jednego z najlepszych.

Cechy „Pythona”

Język programowania Python dla początkujących będzie doskonałym nauczycielem. Ma dość prostą składnię. Kod będzie łatwy do zrozumienia, ponieważ nie zawiera wielu elementów pomocniczych, a specjalna struktura języka nauczy Cię wcinania. Oczywiście dobrze zaprojektowany program z niewielką liczbą poleceń będzie od razu zrozumiały.

Wiele systemów składni zostało stworzonych w oparciu o programowanie obiektowe. Żaden wyjątek nie jest Język Pythona. Dlaczego właściwie powstał? Ułatwi naukę początkującym, pomoże zapamiętać pewne elementy już wykwalifikowanym pracownikom.

Składnia języka

Jak już wspomniano, kod można odczytać dość łatwo i prosto. „Python” ma sekwencyjne polecenia, które wyróżniają się przejrzystością wykonania. W zasadzie zastosowane operatory nie będą wydawać się trudne nawet dla początkujących. To właśnie wyróżnia Pythona. Jego składnia jest łatwa i prosta.

Operatorzy tradycyjni:

  • Podczas ustawiania warunku użyj konstrukcji if-else. Jeśli takich wierszy jest za dużo, możesz wpisać polecenie elif.
  • Klasa służy do zrozumienia w klasie.
  • Jednym z prostych operatorów jest pass. Nic nie robi, pasuje do pustych bloków.
  • Polecenia pętli to while i for.
  • Funkcję, metodę i generator definiuje def.

Oprócz pojedynczych słów język programowania Python umożliwia również używanie wyrażeń jako operatorów. Używając łańcucha ciągów, możesz zmniejszyć liczbę pojedynczych poleceń i nawiasów. Wykorzystywane są również tak zwane obliczenia leniwe, czyli takie, które są wykonywane tylko wtedy, gdy wymaga tego warunek. Należą do nich i i lub.

Proces pisania programów

Interpreter działa na jednym mechanizmie: podczas pisania wiersza (po którym umieszcza się „Enter”) jest on natychmiast wykonywany, a osoba może już zobaczyć jakiś wynik. Przyda się to i będzie całkiem wygodne dla początkujących lub tych, którzy chcą przetestować mały fragment kodu. W środowiskach skompilowanych musiałbyś najpierw napisać cały program, a następnie uruchomić go i sprawdzić, czy nie ma błędów.

Język programowania Python (dla początkujących, jak już stało się jasne, pasuje idealnie) na sali operacyjnej System Linux pozwala na pracę bezpośrednio w samej konsoli. Powinieneś wpisać nazwę kodu „Python” w wierszu poleceń w język angielski. Stworzenie pierwszego programu nie będzie trudne. Przede wszystkim warto wziąć pod uwagę, że tłumacza można tutaj użyć jako kalkulatora. Ponieważ młodzi i początkujący specjaliści często nie są przyjaźnie nastawieni do składni, algorytm można napisać w ten sposób:

Po każdym wierszu musisz wpisać „Enter”. Odpowiedź zostanie wyświetlona natychmiast po jej naciśnięciu.

Dane używane przez Pythona

Dane używane przez komputery (i języki programowania) są reprezentowane przez kilka typów, co jest dość oczywiste. Liczby mogą być ułamkowe, całkowite, mogą składać się z wielu cyfr lub być bardzo duże ze względu na część ułamkową. Aby ułatwić tłumaczowi pracę z nimi i mógł zrozumieć, z czym ma do czynienia, należy określić konkretny typ. Ponadto konieczne jest, aby liczby zmieściły się w przydzielonej komórce pamięci.

Najpopularniejsze typy danych używane przez język programowania Python to:

  • Liczba całkowita. To jest o o liczbach całkowitych, które mają zarówno wartości ujemne, jak i dodatnie. Zero jest również zawarte w tym typie.
  • Aby interpreter zrozumiał, że pracuje z częściami ułamkowymi, należy określić typ zmiennoprzecinkowy. Z reguły jest używany w przypadku używania liczb o zmiennym punkcie. Należy pamiętać, że pisząc program, należy przestrzegać notacji „3,25”, a nie używać przecinka „3,25”.
  • W przypadku dodawania stringów język programowania Python pozwala na dodanie typu string. Często słowa lub frazy są ujęte w pojedyncze lub

Wady i zalety

W ciągu ostatnich kilku dekad ludzie byli bardziej zainteresowani tym, jak spędzać więcej czasu na opanowaniu danych, a mniej na przetwarzaniu ich przez komputer. Język, o którym tylko pozytywny, jest najwyższym kodem.

W Pythonie praktycznie nie ma żadnych niedociągnięć. Jedyną poważną wadą jest powolność w wykonaniu algorytmu. Tak, jeśli porównasz to z „C” lub „Java”, to szczerze mówiąc, żółw. Wyjaśnia to fakt, że to

Deweloper zadbał o to, aby dodać do Pythona to, co najlepsze. Dlatego korzystając z niego widać, że wchłonął najlepsze cechy innych wyższych języków programowania.

W przypadku, gdy pomysł realizowany przez tłumacza nie jest imponujący, to będzie można to zrozumieć niemal od razu, po napisaniu kilkudziesięciu linijek. Jeśli program jest wart zachodu, część krytyczną można poprawić w dowolnym momencie.

Obecnie więcej niż jedna grupa programistów pracuje nad ulepszeniem Pythona, więc nie jest faktem, że kod napisany w C++ będzie lepszy od tego stworzonego w Pythonie.

Z którą wersją lepiej pracować?

Obecnie powszechnie stosowane są jednocześnie dwie wersje takiego systemu składniowego, jakim jest język Python. Dla początkujących wybór między nimi będzie dość trudny. Należy zauważyć, że 3.x jest nadal w fazie rozwoju (chociaż jest udostępniany masowo), podczas gdy 2.x jest w pełni ukończoną wersją. Wielu zaleca używanie 2.7.8, ponieważ praktycznie nie opóźnia się i nie zbacza. W wersji 3.x nie ma radykalnych zmian, więc w każdej chwili możesz przenieść swój kod do środowiska programistycznego z aktualizacją. Pobrać niezbędny program, powinieneś wejść na oficjalną stronę internetową, wybrać swój system operacyjny i poczekać na zakończenie pobierania.

Wszystko jest złe, możesz używać Kivy jako projektów domowych, jest to bardzo wątpliwe dla prawdziwego rozwoju, nie ma wolnych miejsc na Kivy.

Tych. na przykład, osobiście rozmawiałem z wieloma ludźmi, którzy mieli swój własny projekt internetowy w Pythonie i pisali aplikacje w Kivy, aby przyciągnąć dużą publiczność, a nawet z tego korzystali, ale wygląda na to, że „programista pisze, co chce”.

Uczenie maszynowe i Data science (odpowiednie i obiecujące)

Jest to jeden z najbardziej rozreklamowanych obszarów współczesnego świata IT, w którym Python jest używany jako narzędzie testowe. Python posiada szereg wygodnych bibliotek do uczenia maszynowego i obliczeń naukowych: Pandas, NumPy, SciPy, Scikit-Learn, które pozwalają szybko budować działające modele. I faktycznie działają naprawdę dobrze.

Pod względem użytkowania Python jest używany jako narzędzie testowe lub do małych zadań. Jeśli projekt jest duży, to zazwyczaj model jest napisany w języku Java/Scala/C++, a specjalista ds. szkoleń pełni już rolę konsultanta/analityka.

Złożoność tego kierunku polega na tym, że musisz mieć dużą wiedzę z zakresu matematyki i statystyki, prawie zawsze zostaniesz poproszony o wykształcenie wyższe techniczne, matematyczne.

W przypadku wakatów wszystko jest całkiem nieźle, ale w przypadku takich wakatów nie jest wymagana znajomość Pythona, ale głowa.

Tym, którzy chcą szybko poczuć ten kierunek, radzę przeczytać książkę: „Vvedenie_v_mashinnoe_obuchenie_s_pomoschyu_Python_-_A_Myuller_S_Gvido_2017” - dostępna na torrentach, szybko się czyta, daje dobrą prezentację.

Skrobanie sieci (możliwe, ale wątpliwe)

Python ma trzy rzeczy, które czynią go bardzo skutecznym w web scrapingu: bibliotekę Requests, beautifulsoup i Selenium API. Jeśli podłączysz tutaj biblioteki do wizja komputerowa i Machine Learning, uzyskuje się bardzo efektywne narzędzia.

Problem polega na tym, że w tym obszarze jest niewiele wakatów, a głównymi klientami są freelancerzy, którzy oferują pisanie skryptów analizujących dla swoich gównianych stron, maszyn spamowych i od czasu do czasu przeglądanie generatorów w celu rozwiązania problemu.

Okolica jest ciekawa, ale jest w niej mało pieniędzy.

Wizja komputerowa (wątpliwe)

Python ma wiele narzędzi, które pozwalają na pisanie narzędzi komputerowych, są one nawet używane lokalnie w produktach komercyjnych lub na przykład jako komponenty do web scrapingu. Jednak Pythona wyraźnie nie można nazwać odpowiednim narzędziem, więc użycie jest bardzo ograniczone, praktycznie nie ma wolnych miejsc.

GameDev (wątpliwe)

Prawie każda dyskusja na temat tworzenia gier w Pythonie podaje przykłady eve online i WarGaming. Jednak w pierwszym przypadku używany jest bezstanowy python, a w drugim wszystko ogranicza się do języka skryptowego.

Jeśli chodzi o prawdziwy użytek, to masz trzy silniki Kivy, PyGame, Panda3D, jeśli pierwsze dwa są bardziej odpowiednie dla projektów domowych, to trzeci był naprawdę używany w projektach bojowych dobrej jakości, chociaż te projekty były z 2004 roku. Co niejako podpowiada, że ​​korzystanie ze sprawdzonych silników w innych językach, takich jak Unity czy Game Maker, wygląda bardziej przekonująco.

Przemyka się tu jednak niepostrzeżenie silnik Ren'Py, który nagle stał się najlepszym silnikiem do pisania powieści wizualnych (historie o cierpieniu dla dziewczyn), które całkiem nieźle się opłacają nawet w ramach Federacji Rosyjskiej. Seria „7 demonologów Piotra Wielkiego” jest tego dowodem.

Oczywiście w GameDev nie ma wolnych miejsc dla pytona, ale możesz zebrać pieniądze na „startup” z należytą umiejętnością. Ale bezpieczniej jest wziąć inny język i sprawdzone silniki.

Tworzenie stron internetowych (odpowiednie i obiecujące)

Python jest jednym z trzech języków (Python, PHP, Ruby), które rozwinęły ekosystemy do szybkiego tworzenia projektów internetowych o odpowiedniej jakości. Kluczowymi platformami są tutaj:
  • Django (monolityczny framework synchroniczny)
  • Flask (struktura mikrosynchroniczna)
  • Tornado (monolityczny framework asynchroniczny)
  • Twisted (monolityczna struktura asynchroniczna)
  • Aiohttp (struktura mikroasynchroniczna)
W tej chwili większość rynku zajmuje framework Django, ale wraz z pojawieniem się pomysłów na mikroserwis Flask stopniowo zaczął nabierać rozpędu. Jeśli chodzi o asynchronię, tutaj wszystko jest skomplikowane, ponieważ Tornado i Twisted są uznawane za przestarzałe (choć pracuje dla nich wiele firm, ten sam Tinkov), a aiohttp jest bardzo prymitywne i jego użycie jest kwestionowane.

Siła Pythona polega na tym, że pozwala na szybkie tworzenie złożonych aplikacji webowych, posiada ogromną liczbę wysokiej jakości modułów i doskonale sprawdza się w usługach statystycznych i analitycznych (gdzie generalnie na to trafia większość wakatów ). Ten kierunek zajmuje pozostałą jedną trzecią wszystkich wakatów.

Osobno chciałbym zwrócić uwagę na pisanie usług GIS w Pythonie, które choć mają całkiem adekwatne narzędzia do pracy z geodanymi, to wykorzystanie do tych celów Javy wygląda bardziej obiecująco.

Wnioski dotyczące używania Pythona

1) Jeśli chodzi o sferę devops i testów, Python jest kluczowym narzędziem zawodu, które jest obowiązkowe dla każdego odpowiedniego specjalisty. Pythona w tym przypadku się nie uczy, ludzie przychodzą do niego z konieczności.

2) Najbardziej obiecującymi obszarami są web development i machine learning (analityka), które wyraźnie odróżniają Pythona od konkurencji w postaci PHP i Ruby. A jeśli chcesz nauczyć się Pythona, wskazane jest, abyś skupił się na tych obszarach i nie marnował czasu na coś innego. Są na to wakaty, możesz na tym zbudować startup.

3) Wszystkie inne obszary, wprawdzie oferują pewne narzędzia do rozwiązywania problemów, ale perspektywy wykorzystania tych narzędzi są bardzo wątpliwe. A co najważniejsze, znalezienie płatnej pracy w tych obszarach jest prawie niemożliwe.

Czy powinieneś nauczyć się języka programowania Python? Przecież często można usłyszeć, że ten język umiera. Ten problem został omówiony przez użytkowników Quora i podzielił się swoimi opiniami.

Bill Karven, programista SQL, konsultant, trener i autor

Język asemblera daje świetną okazję do pisania zwartego, wydajnego i zoptymalizowanego pod kątem projektu kodu. W kodzie napisanym w tym języku, który zajmuje zaledwie kilka kilobajtów, można robić niesamowite rzeczy. Ale poziom wydajności, jaki możesz uzyskać za pomocą języka asemblerowego, nie uzasadnia dodatkowej pracy, dodatkowego czasu i umiejętności, których wymaga.

Prawdą jest, że języki zarówno zdobywają popularność, jak i ją tracą. Produktywność jest głównym problemem w programowaniu, więc od czasu do czasu tworzone są nowe języki, które zwiększają produktywność, przynajmniej w przypadku niektórych rodzajów pracy.

Większość programistów używa dziś języków wyższego poziomu - muszą być bardziej produktywni. Języki najwyższego poziomu mogą być kompilowane do kodu maszynowego (C lub C++) lub mogą być kompilowane do niezależnego od architektury kodu bajtowego i uruchamiane w maszyna wirtualna(Java) lub być przetwarzane (JavaScript, PHP, Ruby, Python, Perl, itp.).

Błędne przekonanie, że trzeba uczyć się asemblera, bo „jest lepszy niż Python”. To głupi punkt widzenia oparty na nieaktualnych danych.

Etui na banknoty, Dyrektor wykonawczy ICPC, oprogramowanie dla energetyki, genetyki syntetycznej itp.

Naucz się Pythona. Zapewnij sobie doświadczenie w programowaniu. Ten język ma swoją elegancję.

Naucz się C jako języka dla maszyn Unix. Zrozumienie systemu UNIX jest stosunkowo łatwe.

Naucz się MIX, aby zrozumieć Knutha.

Naucz się języka Java, aby nie mieć problemów ze współpracą z innymi i naucz się programowania obiektowego.

Naucz się C++ programować w dowolnym stylu. Jego siłą jest to, że jest głównym językiem programowania. Jego słabością jest to, że aby na nim programować, trzeba zrozumieć jego styl.

Naucz się LISP, aby umocnić swoje zrozumienie rekurencji.

Czy mówiłem, że nie warto się uczyć przynajmniej czegoś? Nie. Bo jedyne, co musisz zrobić, to się szkolić stała nauka czegokolwiek, zwłaszcza uczenia się, jak rozwiązywać pojawiające się problemy.

Shiva Shinde, Python jest łatwy do napisania, ale trudny do odczytania

Język programowania Python nie umiera, jest jednym z najszybciej rozwijających się języków.

  1. Łatwo się nauczyć
  • Na ten moment 8 z 10 najlepszych programów komputerowych w USA używa tego języka (Philip Guo, CACM)
  • Programy w Pythonie mają zwykle minimum schematu, który jest powszechnie spotykany w innych językach programowania. Dlatego możesz częściej korzystać z nieszablonowych rozwiązań problemów.
  • Jeśli masz doświadczenie w programowaniu, nawet jeśli nie w tym języku, szybko opanujesz Pythona.

2. Pełna funkcjonalność

  • To nie tylko język statystyki. Python ma wszystko, czego potrzebujesz do zbierania i czyszczenia danych, baz danych, obliczeń o wysokiej wydajności i nie tylko.
  • Jest to powszechny język programowania z ogromną liczbą wbudowanych bibliotek. Nadaje się do zarządzania danymi i bazami danych, a także do prac związanych z programowaniem sieciowym. To dobrze przemyślany język z ogromną ilością dostępnych zasobów.

3. Poważne biblioteki danych naukowych

  • Python ma znaczące biblioteki naukowe z ogromną ilością danych do wykorzystania.
  • Te biblioteki naukowe to SciPy Ecosystem, który organizuje nawet własne konferencje.
  • Pandas i Matplotlib są częścią SciPy. Dostarczają doskonałe dane na wiele różnych tematów, takich jak: nauczanie maszynowe, eksploracja tekstu i analiza sieci.

Hernan Soulages, pragmatyczny programista

Język ten jest dość popularny, jego znaczenie rośnie w kręgach akademickich. Prawdą jest również, że użyteczność języka programowania zależy od tego, co chcesz z nim zrobić.

W ogóle nie lubię PHP, ale nie jestem na tyle głupi, by odmawiać mu wszechstronności i mocy oraz faktu, że język ten jest dość łatwy do opanowania.
Jeśli chodzi o naukę asemblera, język ten zależy bezpośrednio od tego, z jakim procesorem pracujesz.

Jeśli wiesz, jak z nim pracować, z pewnością przez jakiś czas będziesz mógł go używać w rodzinie procesorów. Ale z biegiem czasu ulegają pewnym zmianom. W tym sensie jest to najmniej trwała rodzina języków.

Magnus Lychka, programista oprogramowanie i konsultant w Göteborgu

Wielu użytkowników lubi Pythona. Dla niektórych aplikacji będzie to zbyt wolne i np. z językiem asemblerowym będą działały szybciej, ale te aplikacje będą działać również szybko w C, podczas gdy kod napisany w C będzie działał na każdej platformie.

Wiele startupów odniosło sukces z Pythonem, po czym muszą przepisać niektóre programy w Javie, C++ lub C. A jeśli te startupy zaczęłyby pracować z językiem asemblerowym, to najprawdopodobniej skończyłyby im się fundusze na długo przed ich bardzo szybkim ale trudny do odczytania kod zostałby ukończony.

Ale podczas pracy z językiem asemblerowym będziesz musiał mieć do czynienia nie tylko z różnymi architekturami procesorów, ale także ze szczegółami technicznymi, które różnią się w różnych systemach operacyjnych.

Python jest językiem ogólnego przeznaczenia wysokiego poziomu, który można rozszerzać i wbudowywać. Jest na przykład zawarty w pakiecie aplikacji jako narzędzie do pisania makr. To sprawia, że ​​Python jest rozsądnym wyborem dla wielu zadań programistycznych, dużych i małych, a nie tak dobrym dla małej liczby zadań obliczeniowych.

Gdzie jest najlepsze miejsce do użycia?

Język Python jest idealny dla projektów wymagających szybkiego rozwoju. Obsługuje wiele paradygmatów programowania, co jest dobre w przypadku programów wymagających elastyczności. A dostępność wielu pakietów i modułów zapewnia wszechstronność i oszczędność czasu.

Guido van Rossum jest twórcą Pythona, czule czczonego przez społeczność jako „życzliwego dyktatora życia”. Pod koniec lat 80. Guido lubił funkcje niektórych języków programowania, ale żaden z nich nie miał wszystkich funkcji, które chciał mieć. W szczególności język musiał mieć następujące cechy.

Język skryptu

Skrypt to program, który kontroluje inne programy. Języki skryptowe nadają się do szybkiego tworzenia i prototypowania, ponieważ dobrze przekazują dane z jednego komponentu do drugiego i oszczędzają programiście kłopotliwych rzeczy, takich jak zarządzanie pamięcią.

Społeczność użytkowników woli odnosić się do Pythona jako do dynamicznego języka programowania.

Wcięcie do grupowania wyciągów

Python określa, czy wyrażenia należą do tej samej grupy za pomocą wcięć. Taka grupa nazywana jest blokiem kodu. Inne języki używają do tego innej składni lub interpunkcji. Na przykład w języku C symbol znaku ( oznacza początek, a ) jest końcem sekwencji poleceń. Wcięcia są uważane za dobrą praktykę również w innych językach, ale jednym z pierwszych, który wymusił wcięcie, był Python. Co to daje? Wcięcia ułatwiają odczytywanie kodu, a bloki kodu wymagają mniejszej liczby znaków początkowych i końcowych oraz znaków interpunkcyjnych, które mogą zostać przypadkowo pominięte. Wszystko to prowadzi do mniejszej liczby błędów.

Typy danych wysokiego poziomu

Komputery przechowują dane w postaci jedynek i zer, ale ludzie potrzebują bardziej złożonych form, takich jak tekst. Mówi się, że język, który obsługuje złożone dane, obsługuje typy danych wysokiego poziomu. Te typy danych są łatwe do manipulowania. Na przykład w Pythonie łańcuchy mogą być dzielone, łączone, pisane wielkimi i małymi literami, przeszukiwalne i tak dalej. funkcjonalność niż inne języki.

Możliwość rozbudowy

Rozszerzalny język programowania można rozszerzyć. Takie języki są bardzo wydajne, ponieważ dodatki sprawiają, że są odpowiednie dla wielu aplikacji i systemów operacyjnych. Rozszerzenia mogą dodawać lub koncepcje, moduły i wtyczki. Język Python jest rozszerzany na kilka sposobów. Podstawowa grupa programistów pracuje nad jej zmianą i ulepszeniem, a setki innych pisze moduły do ​​określonych celów.

Interpretacja

Tłumaczone języki są wykonywane bezpośrednio z kod źródłowy, napisane przez ludzi, a programy napisane w językach skompilowanych, takich jak C++, muszą zostać przetłumaczone na wolniejsze, ponieważ tłumaczenie odbywa się w locie, ale pisanie programów i ich debugowanie jest szybsze, ponieważ nie trzeba czekać na kompilator kompletny. Łatwiej je przenieść na różne platformy.

Można się spierać, czy Python jest językiem interpretowanym, czy kompilowanym. Chociaż pod wieloma względami działa jak interpreter, jest kompilowany przed wykonaniem (tak jak w Javie), a wiele jego komponentów działa z pełną szybkością maszyny, ponieważ są napisane w C.

Guido zaczął pisać Pythona podczas świąt Bożego Narodzenia w 1989 roku, a przez następny rok udoskonalał język w oparciu o opinie swoich kolegów. Opinia publiczna zobaczyła wynik w lutym 1991 roku, kiedy został opublikowany na jednej z grup dyskusyjnych Usenetu.

Aby zacząć pisać programy w Pythonie, musisz go zainstalować. Python 2.7 i Python 3.5 mają znaczące różnice, które powodują, że napisane w nich programy są niekompatybilne.

Na komputerach Macintosh ten język jest preinstalowany, a jego wersja zależy od wieku systemu operacyjnego. W systemie Windows musisz samodzielnie zainstalować Pythona. Pliki pakietu instalacyjnego można wybrać z python.org.

Dwa sposoby interakcji

Jednym z powodów, dla których programowanie w Pythonie jest tak łatwe, jest to, że zawiera narzędzia ułatwiające tworzenie, pisanie i debugowanie programów.

W trybie interaktywnym polecenia są wprowadzane po jednym wierszu, podobnie jak system operacyjny(powłoka) przyjmuje polecenia z wiersz poleceń. Możesz także tworzyć krótkie, wieloliniowe programy lub importować kod z plików tekstowych lub wbudowanych modułów Pythona. Dla początkujących warto wiedzieć, że tryb interaktywny zawiera rozbudowany system pomocy. To wygodny sposób na poznanie możliwości języka programowania.

Środowisko programistyczne IDLE zawiera tryb interaktywny oraz narzędzia do pisania i uruchamiania programów, a także system śledzenia nazw. Środowisko jest napisane w Pythonie i demonstruje rozbudowane funkcje języka.

tryb interaktywny

Tutaj możesz zrobić prawie wszystko, co można zrobić w programie, nawet napisać wielowierszowy kod. Ten tryb może służyć:

  • piaskownica do bezpiecznych eksperymentów;
  • środowisko umożliwiające naukę programowania w Pythonie;
  • narzędzie do wyszukiwania i poprawiania błędów.

Tryb interaktywny może służyć jako kalkulator, manipulować tekstem i przypisywać wartości do zmiennych. Możesz również importować moduły, funkcje lub części programu, aby je przetestować. Pomaga eksperymentować z obiektami Pythona bez pisania długich programów i debugowania programów poprzez importowanie ich części pojedynczo.

Praca w trybie interaktywnym

Po uruchomieniu Pythona w oknie terminala zostaną wyświetlone informacje o aktualnej wersji programu, data jego wydania, kilka wskazówek, jak postępować, oraz znak zachęty >>>.

Aby pracować w trybie interaktywnym, wprowadź polecenie lub wyrażenie i naciśnij klawisz Enter.

Python interpretuje dane wejściowe i odpowiada, jeśli to, co wpisujesz, wymaga odpowiedzi lub jeśli interpreter jej nie rozumie.

Następujące polecenie wyświetli ciąg. Ponieważ lokalizacja drukowania nie jest określona, ​​dane wyjściowe pojawiają się na ekranie.

  • >>> drukuj "Witaj świecie!"
  • Witaj świecie!

Ta jedna linijka to cały program! W trybie interaktywnym Python przetwarza każdy wiersz wprowadzonego kodu po naciśnięciu klawisza Enter, a wynik pojawia się poniżej.

Przeglądanie informacji o obiekcie

W trybie interaktywnym istnieją dwa sposoby przeglądania informacji o obiekcie:

  • wprowadź obiekt (lub jego nazwę) i naciśnij klawisz enter;
  • wpisz polecenie drukowania i obiekt (lub jego nazwę) i naciśnij klawisz Enter.

Wynik zależy od obiektu.

W przypadku korzystania z niektórych typów danych (na przykład liczb całkowitych i list) te dwie metody dają ten sam wynik:

  • >>> x=
  • >>> X
  • >>> drukuj x

W przypadku łańcuchów wynik wpisania „nazwa druku” różni się nieco od wyniku wpisania nazwy. W pierwszym przypadku wartość jest ujęta w cudzysłów, natomiast w drugim nie:

  • >>> x = "Mój ciąg"
  • >>> X
  • „Mój ciąg”
  • >>> drukuj x
  • Mój ciąg

Gdy nazwa odnosi się do bloku kodu (takiego jak funkcja, moduł lub instancja klasy), wprowadzenie nazwy dostarczy informacji o rodzaju danych, nazwie i miejscu przechowywania.

Poniższy przykład tworzy klasę o nazwie Message i wyświetla informacje o

  • >>> wiadomość klasowa:
  • ... przechodzić
  • >>> wiadomość
  • >>> Drukuj wiadomość
  • __Główny__. wiadomość

Smyczki

W Pythonie łańcuchy są sekwencjami znaków. Literał ciągu jest tworzony przez umieszczenie znaków w cudzysłowie pojedynczym (""), podwójnym ("") lub potrójnym (""" lub """). Poniższy przykład przypisuje wartość do zmiennej x:

  • >>> x = "Mój ciąg"

Łańcuch Pythona ma kilka wbudowanych możliwości. Jedną z nich jest możliwość zwrócenia własnej kopii, przy czym wszystkie te funkcje są znane jako metody. Aby wywołać metodę na obiekcie, musisz użyć składni z kropką. Czyli po wpisaniu nazwy zmiennej, która w tym przypadku jest odwołaniem do obiektu napisowego, należy wstawić operator kropki (.), a następnie nazwę metody, a następnie otwierające i zamykające nawiasy kwadratowe:

  • >>> x.niższy()
  • „mystrun”

Możesz uzyskać część ciągu za pomocą operatora indeksowania s[i]. Indeksowanie zaczyna się od zera, więc s zwraca pierwszy znak w ciągu, s zwraca drugi i tak dalej:

  • >>> X
  • >>> X

Metody ciągów działają zarówno ze zwykłymi ciągami, jak i ciągami „Unicode”. Wykonują następujące czynności:

  • zmiana wielkości liter (wielkie, górne, dolne, swapcase, tytuł);
  • liczyć(liczba);
  • zmiana kodowania (kodowanie, dekodowanie);
  • szukaj i zamień (znajdź, zamień, rfind, indeks, rindex, przetłumacz);
  • sprawdź warunki (startswith, endwith, isalnum, isalpha, isdigit, islower, isspace, istitle, isupper);
  • łączenie i rozdzielanie (łączenie, partycja, rpartycja, rozdzielanie, linie podziału);
  • format (center, ljust, lstrip, rstring, rjust, strip, zfill, expandtabs).

Python: Listy

Chociaż łańcuchy Pythona są ograniczone do znaków, listy nie. Są to uporządkowane sekwencje dowolnych obiektów, w tym inne listy. Dodatkowo możesz dodawać, usuwać i podmieniać ich elementy. Seria obiektów oddzielonych przecinkami w środku to Co to jest, pokazane poniżej - oto przykłady danych i operacji na nich:

  • >>> podstawy = ["A", "C", "G", "T"]
  • >>>bazy
  • ["A", "C", "G", "T"]
  • >>>bases.append("U")
  • >>>bazy
  • ["A", "C", "G", "T", "U"]
  • >>> podstawy.reverse()
  • >>>bazy
  • ["U", "T", "G", "C", "A"]
  • >>>bazy
  • >>>bazy
  • >>>bases.remove("U")
  • >>>bazy
  • ["T", "G", "C", "A"]
  • >>>bazy.sort()
  • >>>bazy
  • ["A", "C", "G", "T"]

W tym przykładzie została utworzona lista pojedynczych postaci. Następnie element został dodany na końcu, kolejność elementów została odwrócona, elementy zostały wyodrębnione według ich pozycji indeksu, element z wartością „U” został usunięty i elementy zostały posortowane. Usunięcie elementu z listy ilustruje sytuację, w której metoda remove() musi podać dodatkowe informacje, a mianowicie wartość do usunięcia.

Oprócz metod takich jak remove(), Python ma inną podobną funkcję, zwaną funkcją. Jedyna różnica między funkcją a metodą polega na tym, że ta pierwsza nie jest powiązana z konkretnym obiektem.

Python: funkcje

Funkcje wykonują operacje na jednej lub kilku wartościach i zwracają wynik. Wiele z nich jest wbudowanych w Pythona. Przykłady wbudowanych funkcji:

  • len() - zwraca liczbę elementów w sekwencji;
  • dir() - zwraca listę ciągów reprezentujących atrybuty obiektu;
  • list() - zwraca Nowa lista, zainicjowany z innej sekwencji.
  • >>> pomoc(runda)
  • Pomoc na temat wbudowanych funkcji rundy:
  • okrągły(...)
  • round(liczba[, ncyfry]) -> liczba zmiennoprzecinkowa

Możliwe jest również zdefiniowanie własnych funkcji.

Funkcje zdefiniowane przez użytkownika

Proces tworzenia własnej funkcji Pythona jest następujący. Pierwszy wiersz zaczyna się od słowa kluczowego def, po którym następuje nazwa funkcji i jej argumenty (oczekiwane wartości wejściowe) ujęte w nawiasy, a kończy się dwukropkiem. Kolejne polecenia tworzą treść funkcji i muszą być wcięte. Jeśli komentarz pojawia się na początku treści funkcji, staje się częścią jej dokumentacji. Ostatni wiersz funkcji zwraca wynik:

  • >>> def transkrybuj(dna):
  • ... """Zwróć ciąg dna jako ciąg rna."""
  • ... return dna.replace("T", "U")
  • >>> transkrybuj("CCGGAAGGCTTACTTAG")
  • „CCGGAAGAGCUUACUUAG”

W tym przykładzie została utworzona funkcja o nazwie transkrypcja, która oczekuje ciągu reprezentującego sekwencję DNA. Metoda replace() zwraca kopię oryginalnego ciągu, zastępując wszystkie wystąpienia jednego znaku innym. Trzy linijki kodu umożliwiły transkrypcję DNA na RNA. na to wygląda:

  • >>> def odwrotny(e):
  • ... """Zwróć ciąg sekwencji w odwrotnej kolejności."""
  • ...litery = listy
  • ...litery.reverse()
  • ... return "".join(letters)
  • >>> reverse("CCGGAAGGCTTACTTAG")
  • „GATTCATTCGAAAGGCC”

Funkcja reverse pobiera ciąg, tworzy na jego podstawie listę i odwraca jego kolejność. Teraz musimy wykonać odwrotną transformację. Obiekt posiada metodę join(), która łączy listę, oddzielając każdy z jej elementów wartością ciągu. Ponieważ nie jest potrzebny żaden ogranicznik, metoda jest używana na pustym ciągu reprezentowanym przez dwa cudzysłowy ("" lub "").

Słowniki

A czym jest słownik Pythona? Ma te same zalety, co zwykły słownik papierowy. Pozwala szybko znaleźć żądaną wartość (definicję) powiązaną z kluczem (słowem). Słowniki są ujęte w nawiasy klamrowe i zawierają oddzieloną przecinkami sekwencję par klucz-wartość. Słowniki nie są uporządkowane. Zamiast tego dostęp do wartości słownikowych uzyskuje się poprzez ich klucz, a nie ich pozycję.

  • >>> basecomplement = ("A": "T", "C": "G", "T": "A", "G": "C")
  • >>>basecomplement.keys()
  • ["A", "C", "T", "G"]
  • >>> basecomplement.values()
  • ["T", "G", "A", "C"]
  • >>>bazowy dodatek["A"]

Klasy

Aby tworzyć własne obiekty, musisz zdefiniować rodzaj szablonu zwanego klasą. W Pythonie odbywa się to za pomocą instrukcji class, po której następuje nazwa i dwukropek. Treść definicji klasy zawiera właściwości i metody, które będą dostępne dla wszystkich instancji obiektów opartych na tej klasie.

Zalety

Większość języków programowania oferuje funkcje zwiększające wygodę, ale żaden z nich nie łączy wygody i możliwości, jakie oferuje Python. Jakie są te korzyści? Tutaj są niektóre z nich:

  • Język może być osadzony w innych aplikacjach i używany do tworzenia makr. Na przykład w Paint Shop Pro 8 i nowszych jest to język skryptowy.
  • Python może być używany i rozpowszechniany bezpłatnie, komercyjnie lub nie.
  • Język ma potężne możliwości przetwarzania tekstu i wyszukiwania, które są używane w aplikacjach, które pracują z dużą ilością informacji tekstowych.
  • Na nim można tworzyć duże aplikacje bez konieczności sprawdzania uruchomionych programów.
  • Python obsługuje testowanie i debugowanie pojedynczych modułów i całych programów.

Jakie programy są napisane w Pythonie?

Oprogramowanie użytkowe dla zwykłych ludzi

Przyjrzyjmy się najpierw programom używanym przez zwykłych ludzi, którzy nie są specjalistami w dziedzinie technologii informatycznych.

Bittorrent

Wszystkie wersje do 6 tego klienta torrent zostały napisane w Pythonie. Wersja 6 została przepisana w C++.

Centrum oprogramowania Ubuntu

Cytat z Wikipedii:
Centrum Aplikacje Ubuntu (Język angielski) Centrum oprogramowania Ubuntu) to darmowe oprogramowanie do wyszukiwania, instalowania i usuwania pakietów w systemie Ubuntu Linux. w najnowsze wersje możesz kupić czasopisma o Linuksie i Ubuntu, możesz też kupić płatne gry i oprogramowanie. Aplikacja została napisana w języku Python + Vala przy użyciu bibliotek GTK + i jest powłoką graficzną dla Advanced Packaging Tool.

Mikser

Cytat z Wikipedii:
Mikser- bezpłatny, profesjonalny pakiet do tworzenia trójwymiarowej grafiki komputerowej, zawierający narzędzia do modelowania, animacji, renderowania, postprocessingu wideo oraz tworzenia interaktywnych gier. Obecnie cieszy się największą popularnością wśród darmowych edytorów 3D ze względu na szybki i stabilny rozwój, który wspomaga profesjonalny zespół programistów.

Python służy do tworzenia narzędzi i prototypów, systemów logicznych w grach, jako środek do importowania/eksportowania plików (np. COLLADA), automatyzacji zadań.

Oto kilka stron dokumentacji:

KORDONEK

Cytat z Wikipedii:
Python służy do pisania dodatkowe moduły na przykład filtry.
Oto kilka stron, które zagłębiają się w temat:

Gry

Cywilizacja IV

Większość gry jest napisana w Pythonie ().

Pole bitwy 2

W Internecie istnieje wiele samouczków i prostych przepisów na zmianę różnych obiektów i ich zachowania.

Świat czołgów

Cytat z artykułu "GUI w World of Tanks":
Projekt wykorzystuje Pythona jako język skryptowy. Całe piękno, które stworzyliśmy we Flashu, musi być połączone w grze, wypełnione danymi, przetworzone i przełożone z danych wejściowych użytkownika na rzeczywiste działania w grze. Wszystko to jest po prostu zrobione w Pythonie.
Więcej pełna lista gry korzystające z Pythona można znaleźć w Wikipedii i dokumentacji Pythona.

Jakie firmy używają Pythona?

Lista firm używających Pythona jest długa. Wśród nich są Google, Facebook, Yahoo , NASA , Red Hat , IBM , Instagram , Dropbox, Pinterest, Quora, Yandex, Mail.Ru.

Yandex

Tutaj proszę o raport „Python w rdzeniu Yandex.Disk”. Siergiej Iwaszczenko (mówca):
Opowiem o tym, jak używamy Pythona w Yandex.Disk, jakich bibliotek i frameworków używamy, jakie zadania rozwiązujemy i jakie problemy napotykamy. Poruszę również temat logowania i przetwarzania operacji asynchronicznych.
W jednym z filmów na kanale Yandex pracownicy opowiadali o swoich ulubionych językach.

A także na blogu firmy Yandex znajduje się wpis „Jakie języki programowania piszą w Yandex” z dnia 19 marca 2014 r. Tak więc 13% pracowników Yandex pisze większość swojego czasu pracy w Pythonie.

Poczta.ru

Pracownicy Mail.ru również używają Pythona. Oficjalny blog Mail.ru na Habré zawiera kilka artykułów o Pythonie:

Google

Google aktywnie korzysta z Pythona od samego początku. Krążą plotki, że większość YouTube i Dysku Google jest napisana w Pythonie. Firma Google opracowała całą platformę Google App Engine w chmurze, aby programiści mogli uruchamiać kod Pythona w chmura google. Wielu programistów językowych pracowało i nadal pracuje dla Google.

wrzutnik

Usługa jest napisana w Pythonie. To nie przypadek, że w DropBox pracuje autor języka Python, Guido van Rossum.

Inne firmy

Organizacje korzystające z Pythona

W jakich obszarach jest używany Python?

tworzenie stron internetowych

W tym obszarze Python jest prawdopodobnie najczęściej używany. Framework webowy Django wciąż nabiera tempa, powiększając armię swoich fanów. Wielu początkujących programistów myśli nawet, że Pythona nie używa się nigdzie indziej. Ale wiele innych frameworków internetowych jest napisanych w Pythonie: Pylons , TurboGears , CherryPy , Flask , Pyramid i inne. Pełniejszą listę można znaleźć.
Istnieje również CMS oparty na Django, nazywa się DjangoCMS .
Bardzo często parsery witryn piszą również w Pythonie. Zwykle używają Requests, aiohttp, BeautifulSoup, html5lib. Istnieją również narzędzia wyższego poziomu do skrobania sieci: Scrapy, Grab.

Administracja systemu

Python to świetny język do automatyzacji pracy Administrator systemu. Jest instalowany domyślnie na wszystkich serwerach Linux. To proste i zrozumiałe. Kod Pythona jest łatwy do odczytania. Niektórzy ludzie kochają Perla, ja też go kocham wygodna praca z wyrażeniami regularnymi, ale nienawidzę Perla za jego składnię. Bash jest przydatny w przypadku stosunkowo małych i średnich skryptów, ale Python jest potężniejszy i pozwala w niektórych przypadkach pisać znacznie mniej kodu.
Jedyny pakiet jaki znam to Fabric. Może jest coś jeszcze, napisz do mnie w komentarzach jeśli wiesz.

Dodatkowe informacje

Python dla administratorów systemu (IBM developerWorks)
dokumentacja tkaniny. Administracja systemami.

Systemy wbudowane

Bardzo często Python jest używany do programowania systemów wbudowanych. Najbardziej znanym projektem wykorzystującym Pythona jest Raspberry Pi. Ale nie tylko on:
Wbudowany Python
Malina Pi
Osadzone narzędzia Pythona
Wbudowany system Pythona firmy Owl

Tworzenie aplikacji, w tym gier

Python jest często używany jako język pomocniczy przy tworzeniu oprogramowania aplikacyjnego. Przykłady podałem już powyżej, nie będę się powtarzał.

Badania naukowe

Fizycy i matematycy bardzo lubią Pythona za jego prostotę. Ponadto istnieje ogromna liczba bibliotek dla Pythona, które ułatwiają życie naukowcom. Na przykład:
  1. scipy to otwarta biblioteka wysokiej jakości narzędzi naukowych dla języka programowania Python. SciPy zawiera moduły do ​​optymalizacji, integracji, funkcji specjalnych, przetwarzania sygnałów, przetwarzania obrazu, algorytmów genetycznych, rozwiązywania równań różniczkowych zwyczajnych i innych zadań powszechnie wykonywanych w nauce i inżynierii.
  2. matplotlib- biblioteka w języku programowania Python do wizualizacji danych za pomocą grafiki dwuwymiarowej (2D) (obsługiwane są również grafiki 3D). Powstałe obrazy można wykorzystać jako ilustracje w publikacjach.
  3. numpy jest rozszerzeniem języka Python, które dodaje obsługę dużych wielowymiarowych tablic i macierzy, a także dużą bibliotekę wysokopoziomowych funkcji matematycznych do działania na tych tablicach.
Pełniejszą listę naukowych bibliotek obliczeniowych Pythona można znaleźć w Wikipedii.

Edukacja

Bardzo często jako pierwszy język programowania zalecany jest Python.
Niektóre rosyjskie szkoły mają udane doświadczenie w nauczaniu dzieci w wieku szkolnym programowania w Pythonie.
Nawiasem mówiąc, Guido van Rossum, pisząc Pythona, zainspirował się językiem ABC. A język ABC był przeznaczony do nauki i prototypowania.

Krytyka języka Python

Python to jeden z najwolniejszych języków programowania

W Internecie można znaleźć wiele różnych testów szybkości programów napisanych w inne języki programowanie. Python zwykle znajduje się na końcu list.
Zwykle przez Pythona mają na myśli CPython, referencyjną implementację języka. Istnieją inne implementacje języka Python, takie jak PyPy. PyPy jest szybszy niż CPython i wiele innych języków skryptowych, a jego prędkość jest bardzo zbliżona do Javy. Ale jest jeden problem - PyPy nie implementuje w pełni języka Python, z tego powodu wiele programów Pythona na nim nie działa.
Wielu programistów pisze wstawki w C/C++, aby przyspieszyć pracę w wąskich gardłach. Python nie jest przeznaczony do zadań obliczeniowych, zadań wymagających dużej ilości pamięci (związanej z pamięcią) i tym podobnych. Musisz umieć dobrać odpowiednie narzędzia do swoich zadań. Guido van Rossum opowiada o tym w wywiadzie.

GIL zapobiega jednoczesnemu uruchamianiu wielu wątków

Global Interpreter Lock zapobiega jednoczesnemu wykonywaniu wielu wątków Pythona. To są cechy CPythona. Ale czy to wada? Musisz zrozumieć, że wszystko zależy od zadania. Jeśli twoje zadanie zależy od szybkości wejścia/wyjścia (zadanie powiązane z IO), bardziej wydajne jest użycie kilku procesów, które będą działać w trybie asynchronicznym z zasobami zewnętrznymi. A wątki z pamięcią współdzieloną są dobre do zadań obliczeniowych (związanych z procesorem). Ale nawet jeśli musisz pracować z wątkami, możesz na chwilę wyłączyć GIL, tak jak robi się to w pakiecie matematycznym NumPy.

Brak dobrych narzędzi do dystrybucji

Niestety kod Pythona, który ma wiele zależności od bibliotek systemowych, jest trudny do przeniesienia na inne systemy. Ten problem został rozwiązany za pomocą virtualenv. ale to narzędzie jest bardzo krytykowane przez administratorów systemu.

Dodatkowe informacje

Historie sukcesu w Pythonie
Używałeś Pythona do pisania CO?
Do czego służy Python?
Kolejny dowód na to, że to „świat Pythona”, a my „po prostu w nim żyjemy”
ŚREDNIE WYNAGRODZENIE ZA PRACĘ WYMAGAJĄCĄ PYTHON
Lista oprogramowania Pythona