Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

[Python] cz.1 | Czym jest Python?

Witam.

Zapewne mieliście już styczność z Pythonem, a jeśli jeszcze nie do końca wiecie do czego on służy i jakie ma możliwości to bardzo dobrze trafiliście aby się tego dowiedzieć.

Python

Jest interpretowanym, obiektowym językiem programowania najczęściej używanym w środowiskach Uniksowych z powodu większej ilości dostępnych bibliotek i integracji z systemami Uniksowymi.

Bardzo często używany jest do pisania mniejszych aplikacji desktopowych i serwerowych oraz stron internetowych.

Należy do jednych z łatwiejszych języków programowania które można nauczyć się w miarę szybkim czasie, pomimo to dysponuje bardzo dużymi możliwościami.

Podstawową zaletą Pythona jest to, że przy mniejszym nakładzie pracy można osiągnąć w przybliżeniu bardzo podobny efekt jak przy użyciu C/C++

Kto używa Pythona?

Ze względu na bardzo dużą elastyczność, liczbę dostępnych bibliotek, stabilność, szybkość i niezawodność język ten używany jest przez wiele różnych dużych projektów i firm.

A teraz do rzeczy;
- Google
- YouTube
- CIA
- Portage (menadżer pakietów w Gentoo Linux)
- Openshot (edytor wideo)
- RedHat
- Yahoo
- Civilization 4
- Blender
- Battlefield 2
- Miro
- i wiele innych

Zastosowanie

Python posiada liczne zastosowania, można w nim napisać program dla komputerów biurkowych, aplikację serwerową, stronę internetową, grę 2D/3D czy też aplikację na smartfona (najlepiej z Androidem).

Biblioteki pythona

Wbudowanych, gotowych do zaimportowania bibliotek jest bardzo dużo, a oprócz nich można zainstalować jeszcze więcej ręcznie bądź poprzez menadżer pakietów dostępny w systemie operacyjnym.

Popularne biblioteki:
- GTK (interfejs graficzny)
- QT (interfejs graficzny)
- Curl (interfejs graficzny)
- wxWidgets (interfejs graficzny)
- pyGame (tworzenie gier 2D i 3D oraz aplikacji interaktywnych)
- SQLite (bazy danych)
- MySQL (bazy danych)
- postgresql (bazy danych)
- GNU Gettext
- APT (zarządzanie pakietami w Debianie i pochodnych)
- Portage (zarządzanie pakietami w Gentoo Linux)
- MPD (sterowanie odtwarzaczem muzyki "MPD")
- DBUS (komunikacja międzyprocesowa)
- Threading (wielowątkowość aplikacji)
- OpenGL (obsługa grafiki 3D przy użyciu OpenGL)
- WinAPI (interfejs systemu Windows)
- Bluez, Blueman i Bluetooth (obsługa Bluetooth)
- Wicd (Obsługa interfejsów sieciowych)
- Scapy (manipulacja pakietami, tworzenie i wysyłanie pakietów, sniffing)
- BeautifulSoup (parsowanie HTML)
- PDF (generowanie dokumentów PDF)
- OpenID (wygodny system uwierzytelniania)
- OpenSSL (szyfrowanie SSL/TSL)
- OpenAL (biblioteka audio)
- OpenCL (przetwarzanie GPU)
- Django (framework służący do tworzenia stron internetowych)
- NumPy (obliczenia numeryczne)
- OpenCV (przetwarzanie obrazów)

Wymienione powyżej pozycje nie są bezpośrednio nazwami bibliotek pythona a nazwami oryginalnymi od których pochodzą.

W dalszych częściach poznacie podstawy samego języka oraz bibliotek które znam i będę mógł Wam wytłumaczyć ich działanie w teorii i na przykładach. 

linux oprogramowanie programowanie

Komentarze

0 nowych
DannyPL   5 #1 07.12.2011 17:06

To będzie taki kurs, tak?
BTW: używam twojego Subgeta. Jak dla mnie niezastąpiony. QNapi do lamusa ;)

webnull   9 #2 07.12.2011 17:08

@DannyPL | 07.12.2011 17:06
Pewnie, że będzie kursik :-)
I dziękuję bardzo.

iluzion   5 #3 07.12.2011 17:18

W popularnych bibliotekach zabrakło kilku popularniejszych od reszty razem wziętej:P Np. Django, czy NumPy.

Threading jest częścią biblioteki standardowej, a ta zawiera moduły dużo częściej wykorzystywane od Threading;)

Część wymienionych pozycji (np. bazy danych) to nie są biblioteki Pythona.

Saskatchewan   7 #4 07.12.2011 17:22

Wśród ciekawych bibliotek wymieniłbym jeszcze NumPy (do obliczeń numerycznych) i Matplotlib (do tworzenia wykresów). Od siebie, do przetwarzania obrazów polecam też OpenCV.

Swoje co nieco o Pythonie wiem, ale na kurs oczywiście czekam z zainteresowaniem. Zawsze się człowiek czegoś nowego nauczy. :)

webnull   9 #5 07.12.2011 17:23

@iluzion | 07.12.2011 17:18
Wiem w sumie, tylko te pozycje wydawały mi się dość ważne dlatego je troszkę pomieszałem ale to chyba nie szkodzi.

No i django oraz numpy w istocie zabrakło. Dziękuję.

webnull   9 #6 07.12.2011 17:23

@Saskatchewan | 07.12.2011 17:22
Kurs raczej myślę aby przeznaczyć dla kompletnych nowicjuszy ;-)

Zulowski   8 #7 07.12.2011 17:26

Dajesz Webnull dajesz, część pierwsza w zakładkach, do przeczytania później ;)

Saskatchewan   7 #8 07.12.2011 17:43

@webnull: Może być i dla nowicjuszy. - Ja mam z programowaniem tak, że umiem zrobić czasem dość zaawansowane rzeczy, a o niektórych podstawach nie mam pojęcia :p.

webnull   9 #9 07.12.2011 17:44

@Saskatchewan | 07.12.2011 17:43
A to ja mam podobnie nie raz ;-)

Frankfurterium   9 #10 07.12.2011 18:07

Miło. Niedawno zaplanowałem nawiązanie znajomości z Pythonem. Przyda się zapoznać z jakimś językiem niewywodzącym się z C.

iluzion   5 #11 07.12.2011 18:23

@Frankfurterium

Python i C mają całkiem sporo wspólnego. Główna implementacja Pythona - CPython - napisana jest w właśnie w C, chociaż są też inne bardzo dobre (czasami nawet lepsze) implementacje tego języka, np. IronPython napisany w C#, czy PyPy napisane w... Pythonie;)

Banan   10 #12 07.12.2011 18:24

No przynajmniej czegoś się nauczę, bo w tej szkole to tylko word, exel, word... Nawet nie przedstawiają nam systemów Uniksowych mimo iż jest to w programie. Przynajmniej koledzy przychodząc do mnie uczą się nazw systemów, na których aktualnie pracuję. Po przeczytaniu opisu http://www.dobreprogramy.pl/Ubuntu-11.10,System,Linux,14139.html Ubuntu w szkole tylko Ubu, Ubu naśladując te plemiona. Cóż poradzić to w końcu gimnazjum =P

ziggurad   11 #13 07.12.2011 18:49

Chętnie poczytam więcej, może bym się czegoś nauczył ;)

iluzion   5 #14 07.12.2011 18:50

@Banan

Założę się, że 90% ludzi, którzy deklarują znajomość Office'a i tak nie zna 10% jego możliwości. Nie mówiąc już o poprawnym pisaniu tekstu na komputerze -- w jakimkolwiek pakiecie. A Excela na wysokim poziomie na prawdę warto znać.

@an.szop

Trudność (odmienność) tworzenia "życiowych" programów w językach funkcyjnych wiele osób zniechęca. Może Scala czy F# wpłynie na wzrost popularności tych języków.

W Pythonie podoba mi się to, że umożliwia pisanie w sposób funkcyjny (często bardzo zwięzły i elegancki) tego do czego ten paradygmat idealnie się nadaje.

freeq52   8 #15 07.12.2011 19:18

Fajnie, że lecisz od podstaw, każdy może się czegoś nauczyć. Czekamy na kolejne części!

kubut   17 #16 07.12.2011 20:32

Wstępnie piszę się na kurs, bo akurat z Pythonem nigdy do czynienia nie miałem :) Zobaczymy co to będzie :)

Demagog   4 #17 07.12.2011 20:35

Miło, że zacząłeś pisać o tym strasznie przydatnym języku programowania. Zakładam, że to jest ta długo oczekiwana seria :P

Mimo, że pythona znam z widzenia, Chętnie obadam serię.
O ile powstanie ( a miejmy nadzieje, że tak)

C-dur   4 #18 07.12.2011 20:56

Chociaż podejrzewam, że moją akurat sugestię olejesz ciepłym moczem, to pozwolę sobie jednak coś powiedzieć. Fajnie by było jakby to był taki bardziej zaawansowany kurs, właśnie o bibliotekach i technikach programistycznych uwzględniających specyfikę Pythona. Kolejny kurs o tym jak się definiuje zmienne, jak wyglądają pętle i instrukcje warunkowe raczej nie ma większego sensu.

C-dur   4 #19 07.12.2011 20:57

Szczególnie w postaci wpisów na blogu.

Zulowski   8 #20 07.12.2011 21:36

Dla zainteresowanych tym tematem i korzystających z przeglądarki Chrome:
https://chrome.google.com/webstore/detail/gdiimmpmdoofmahingpgabiikimjgcia

Jak działa :
http://i42.tinypic.com/6rlpxi.jpg

iluzion   5 #21 07.12.2011 21:57

Tak przy okazji...

Readers' Choice Awards 2011: "A three-time winner in our best programming category, Python continues to dominate."

http://www.linuxjournal.com/slideshow/readers-choice-2011?page=27

  #22 07.12.2011 23:11

A JIT dla 3.x jak było tak nie ma z tego co pamiętam.

kostek7   3 #23 08.12.2011 07:18

Curl jest pakietem związanym z obsługą sieci.

  #24 09.12.2011 01:15

@Banan
Byłem taki jak ty. Jeszcze w podstawówce, kiedy w szkole uczyliśmy się nazywać foldery, ja programowałem mikrokontrolery.
Teraz jestem w liceum na mat-fiz i po paru zajęciach z Excela "wiem, że gówno wiem".

Ryan   15 #25 30.12.2011 15:38

1. Jak coś jest policzalne (biblioteki są), to mówimy o liczbie a nie ilości.
2. Czas nie może być szybki, to cecha istot. Może natomiast być krótki.

Gdzie tu jest jakiś kurs, bo póki co mamy niekoherentny zlepek podpunktów. Najpierw traktujesz czytelników jak idiotów tłumacząc czym jest Python a później jak karabin maszynowy wyrzucasz z siebie listę bibliotek, które... No właśnie, są bardziej oczywiste niż to, że Python jest językiem skryptowym? Bądźmy poważni choć przez chwilę, błagam.