Python3 egitimimi OOP disinda tamamladim. Ama hangi dal veya amacta ilerleyecegimi henüz bilmedigim icin hangi kütüphaneyi ögrensem bilemiyorum ve bu nedenle de temel bilgimi verimli kullanamiyorum. Hangi dal icin hangi kütüphaneyi ögrenmeli? Bu konuya deginilen bir kaynak vs. var mi?
Merhaba La Ahad;
Tahminimce yazılıma yeni başlamış gözüküyorsun. Başlangıçta Python gibi bir dil ile başlamak ne kadar doğru bilemiyorum. Çünkü Python dilini yeni başlayan birinin başlamasının doğru olduğunu düşünmediğim diller arasında. Başlangıçta OOP destekli dillerden birini seçseydin sana daha yararlı olurdu. Mesela C#, Delphi gibi.
Dönelim sorumuza;
Kütüphaneden önce sana tavsiyem Python dilini bir kenara bırakıp kendini Internet iletişimi(Protokoller arası iletişim, TCP/IP gibi.) alanında geliştirirsen daha iyi bir başarı elde edebilirsin. İkinci bir önerim veritabanına yönel. SQL bu dönemlerde zaten bir yazılımcı için vazgeçilemez bir nimet adeta.
Sonuç olarak;
Python’u şimdilik bir kenara bırakıp kendini ya internet ya da veritabanı en azından OOP desteği olan bir dil ile çalışman yararına olacaktır.
NOT: Python için OOP desteği zor da olsa var fakat C# veya Delphi gibi diller ile karşılaştırdığımızda esneklik yönü Pythonun ki daha bir zor.
Hayırlı çalışmalar
Saygılarımla
Öncelikle bir gui kütüphanesi öğrenmelisiniz. Bunun için önerilerim tkinter ve pygtk (Ayrıca wxpython var ama kullanıcısı çok az). Ardından bir framework ile uğraşmanızı tavsiye ediyorum. Bunun için önerim django (Google bile kullanıyorsa cardır bir hikmeti). Kivy öğrenecekseniz sadece symbian üzerinde kararlı çalıştığını bilin
Cevabin icin tesekkürler. Tkinter biliyorum zaten ama sanirim PyQt de ögrenecegim. Zira Drag&Drop var ise. Tkinter canima tak etti
Framework ün ne oldugunu tam olarak bilmiyorum ama arastiracagim ve ögrenecegim. OOP den sonraki adimim bu olacak. Kenara yazdim
Tekrardan Tesekkürler…
Framework’ü web altyapısı diye biliyorum. Ama emin değilim.
Bi ara şuradan böyle birşey çevirmiştim
B_u sayfanın amacı, programcılar (özellikle yeni başlayanlar) için yararlı öneriler sunmak umuduyla. En sık kullanılan Python modülleri bazı listelemek içindir. Aşağıdaki liste ek olarak, Python modülleri diğer dizinleri vardır unutmayın.PublishingPythonModules bkz. Kütüphane detayların başka bir derlemesi Kütüphane sayfasında bulunabilir._
Bu liste doğası gereği sübjektiftir - sadece faydalı bir rehber niteliğindedir.Unutmayın ki bunlar gibi birçok paketi https://pypi.python.org/pypi adresinde bulabilirsiniz
Standart Kütüphane
StandardLibraryBackports - Standart kütüphanenin önceki modulleri
Şifreleme(kriptografi)
Python and Cryptography
Veri Tabanı
SQLAlchemy yada SQLObject -birkaç farklı veritabanı sistemine Nesne yönelimli erişim
DatabaseInterfaces -
Ayrıca bakınız DatabaseProgramming
Yabancı Değişken Arabirimi(Foreign Function Interface)
CTypes -DLL / paylaşılan kütüphanelerin işlevleri çağırmak için bir paket.
Cython CPython veya cPython, yüksek seviyeli, dinamik ve nesne yönelimli bir dil olan Python’un tamamen C ile yazılmış bir derleyicisidir. Python kütüphaneleri ile birlikte C kütüphanelerinin kullanımına imkân vermektedir. Açık kaynak yazılımı olarak dağıtılmaktadır.
Oyun Geliştiricileri
PyGame - oyun geliştirmek isteyenlere
Ayrıca bakınız GameProgramming.Bu tür paketlerin hakkında daha kapsamlı bir liste bulunabilir
PythonGameLibraries sayfasında.
Coğrafi Bilgi Sistemi (Geographic Information System[GIS])
GIS Web services - Google maps Yahoo maps ve daha fazlasına erişmek için
Görsel Arayüz(GUI)
PyGtk - PyGTK Python programlama dilini kullanarak kolayca grafik kullanıcı arabirimleri oluşturmanıza olanak verir. GTK+ kütüphanesinin tüm olanaklarını istediğiniz gibi GNOME Desktop ta kullanmanızı sağlar.
PyQt - PyQT, C++ ile geliştirilmekte olan QT isimli grafik arayüz kütüphanesinin python ile kullanılmasını sağlayan bir ara katmandır aslında.Teknik dilde buna “bağlayıcı” deniyor.
TkInter - Tkinter, Python programlama dili ile birlikte gelen grafiksel kullanıcı arayüzü (GUI) aracıdır. Python’la birlikte gelmesi ve basit bir yapıya sahip olması, Tkinter’in yaygın kullanımına neden olmuştur. Eleman (görsel nesne) eksikleri çeşitli paketlerle (ek kodlarla) kapatılmaya çalışılmaktadır
WxPython - wxWidgets Python için bir bağlayıcı PythonCard, Wax ve diğer yazılım iskeletlerini destekliyor.
PyjamasDesktop - Bağlayıcı ve çapraz-platform webkit için bir yazılım iskeleti.
Daha kapsamlı bir listeyi GuiProgramming sayfasında bulabilirsiniz.
Komut arayüzü(Console)
Ascii Table paketleri
Ses ve Müzik
Audio in Python
ID3 İşleme (Handling)
Mutagen - Mutajen ses meta verilerini işlemek için bir Python modülü
ID3Reader - "Id3reader.py MP3 dosyaları ID3 meta etiketlerini okuyan bir Python modülü. Bunun ile ID3v1, ID3v2.2, ID3v2.3 veya ID3v2.4 etiketleri okuyabilirsiniz.ID3Writer kullanılır.
PyID3 - “(inaktif gibi görünüyor)” MP3 ses dosyaları ID3 bilgi etiketleri işlemek için bir python modülü
pytagger -Etiket okuyucu ve yazıcı Python ile bütünüyle uygulamıştır. ID3v1, ID3v1.1, ID3v2.2, ID3v2.3 ve ID3v2.4 destekler
eyeD3 - ID3 etiketlerini işlemek için bir Python modülüdür. Bu modül ID3 v1.0 / v1.1 ve v2.3 / v2.4 destekler zaman, bit hızı, örnek frekans vb. gibi bilgileri elde edebilirsiniz.
hsaudiotag - Py3k - hsaudiotag mp3, mp4, WMA, OGG, FLAC ve aiff dosyaları meta verilerini (bitrate, örnekleme oranı, süresi ve etiketleri) okumanızı sağlyan Python kütüphanesi. Yalnızca, etiketleri okumak onlara yazmak içindir,BSD lisansı ile dağıtılır.
pytaglib - Python 3.x ve 2.x destekler - C++ taglib kütüphanesi ile bir bağlayıcı, mp3, ogg, flac, mpc, speex, opus, WavPack, TrueAudio, wav, aiff, mp4 ve asf dosyalarını okur yazar.
Resim İşleme(Image Manipulation)
Python Imaging Library (PIL) - Birçok dosya biçimlerini destekler ve güçlü görüntü işleme ve grafik yetenekleri sağlar.
pyqtgraph - görüntü / video gösterimi, çok boyutlu görüntü dilimleme ve interaktif manipülasyon araçları ile bilimsel uygulamalar için Python grafik kütüphanesi.
Dizin oluşturma ve arama (Indexing and Searching)
InformationRetrieval
Java
Java scripting
Ağ(Networking)
asyncoro - Asenkron, eşzamanlı programlama çatısıdır
Gevent - Ağ kitaplığı
TwistedMatrix - Olaya dayalı ağ yazılım iskeleti
RPyC - Kümeleme ve dağıtılmış-işlem için şeffaf bir python kütüphanedir.
PyRO - güçlü bir OO RPC
HTTPLib2 - birçok özelliği destekleyen kapsamlı bir HTTP istemci kütüphanesi standart kütüphanedeki httplib gibidir.
Celery - band processing/RPC ve daha fazlası için dağıtılmaktadır.
Platforma Özgü(Platform-Specific)
Psyco - Psiko herhangi bir Python kod çalıştırılmasını hızlandırabilir (yalnızca x86)
PyInstaller - Windows, Linux and Irix.Sistemlerinde çalışan yürütülebilir dosyalar oluşturmak için
Mac
py2app - (Mac için py2exe gibi) bağımsız uygulamalar oluşturun
PyObjC - Python ve Objective-C arasında bir köprü
Windows
PyWin32 - Windows için Python uzantıları
Py2exe - Python scriptlerini alışabilir windows programına dönüştürür, Python yüklemeye ihtiyaç duymadan çalışabilirler
Grafik Çiziciler(Plotting)
Chaco - Etkileşimli grafikleri ve planlamaları oluşturur
gnuplot.py - gnuplot dayalı olarak
Matplotlib - Geniş bir biçim ve kalite yelpazesi vardır
Plotly - Etkileşimli web tabanlı grafikler
PyX - Postscript ve PDF çıkışlı, (La)TeX ile bütünleşir
ReportLab Bir grafik paketi içerir
Veusz - Postscript çıktısı PyQt ile başlangıç aşamasında
pyqtgraph - Python çizimi ve grafik kitaplığıdır ve PyQt ye numpy’e dayalı
SciPy topical software sayfası daha uzun bir dizelgeye(liste) sahip.
Sunum(Presentation)
http://docutils.sourceforge.net/docs/user/tools.html#rst2s5-py - .rst dosyalarından HTML slaytı oluşturmak
http://seld.be/notes/introducing-slippy-html-presentations - Python tarayıcıda sunumlara gözatma
RDF İşleme (Processing)
Burada RdfLibraries RDF işlemleri çözümlerine yönelik bir liste
Bilimsel(Scientific)
Visual Python - Gerçek zamanlı 3D çıkışı sunuyor.Acemi programcılar tarafından kullanılabilecek basit yapısı mükemmel.
SciPy - grafik ve çizimi, optimizasyon, entegrasyon, özel fonksiyonlar, sinyal ve görüntü işleme, genetik algoritmalar, ODE çözen, ve diğerleri için modülleri içerir
Python Bindings for R - R iyi bilinen, açık kaynak kodlu (GPL 2) istatistiki pakettir
numpy
PyIMSL - IMSL C Sayısal Kütüphanesi matematiksel ve istatistiksel algoritmalar için kullanılabilir
Standart Kütüphane Geliştirmeleri(Standard Library Enhancements)
Python Path - os.path modülünün işlevselliğini arttırır ve daha rahat bir şeyler sunar.
Requests - HTTP isteklerini göndermek için urllib üzerine bir paket.(misal bununla bir siteye giriş yapabilirsiniz veya bir formu otamatik doldurabilirsiniz)
Dateutil - datetime modülüne güçlü ve kullanışlı uzantıları sağlar.
sh - bir işlevi sanki harici bir program gibi çalıştırılabilir
DocOpt - Komut satırı argümanları ayrıştırıcısı.
PyLibrary - Python geliştiricileri için yararlı kütüphaneler koleksiyonu.
İş Parçacığı(Threading)
ThreadPool - işlem havuzu gibi aynı anda iki işlem birden yapmak için
Bunun gibi çifteişlem(multiprocessing) ve paralelişlem(paralellelprocessing) işlemlerini ParallelProcessing bu sayfada bulabilirsiniz
Sistem Yönetimi(System administration)
psutil - Python süreçleri ve sistem kullanımı (CPU, bellek, disk, ağ) çalışan hakkında bilgi almak için çapraz platform kütüphanesi.
Ağ Geliştirme(Web Development)
Django - Django, Python programlama dili ile yazılmış MTV mimari desenini kullanan, yüksek seviyeli ve açık kaynak bir ağ yazılım iskeletidir.
Pyramid - Piramit ağ yazılım iskeletidir. Bu Pylons Projesinin bir parçası olarak geliştirilmiştir. BSD-like lisansı altında lisanslanmıştır.
TurboGears - Hızlı ağ geliştirme için bir yazılım iskeleti(megafremework).
Pylons - Hafif bir ağ yazılım iskeleti esneklik ve hızlı gelişmesi ile vurgulanıyor.
web2py - Çevik geliştirme için yüksek düzey yazılım iskeleti.
Flask - Werkzeug, jinja2 dayalı Python için yazılım iskeleti(microfremework). (BSD ile dağıtılıyor)
Bu konuların tam bir listesine bakın WebProgramming ve diğer yazılım isketleri için de buraya WebFrameworks bakın.
HTML formları
ClientForm - "ClientForm , HTML formları ayrıştırma onları doldurmak ve sunucuya tamamlanmış formlar göndermek için için yararlı istemci.
FormEncode
lxml.html HTML belgeleri formları ile başa çıkmak için sağlam bir kütüphane
Ayrıca bakınız WebProgramming ve WebFrameworks sayfalarına.
HTML Ayrıştırıcı (parser)
Beautiful Soup - HTML/XML ayrıştırma düzenlemek için tasarlanmıştır
PyQuery -Python jQuery uygulaması;Görünüşe göre, BeautifulSoup daha hızlı.(emin değilim)
mxTidy - HTML temizleme ve düzenleme aracı
lxml.html Çok hızlı, kolay kullanımlı ve çok yönlü bir kütüphane HTML
Daha fazlası için PythonXml’e bakabilirsiniz.
İş Akışı(Workflow)
openflow - Zope 2 için bir iş akışı motoru.
Goflow - openflow ile aynı tasarıma sahip Django için bir iş akışı motoru.
XML İşleme (Processing)
ElementTree - XML Bilgi Kümeleri olarak hiyerarşik veri yapıları, saklamak için tasarlanmış basit ama esnekbir kütüphane.–Not:2.5 ten sonra artık ElementTree Standard Kütüphanenin içinde–
lxml Çok hızlı çoğunlukla uyumlu XML işleme için, kolay kullanımlı ve çok yönlü bir kütüphane ama ElementTree çok daha fazlo özellik ve zenginliğe sahip.(emin değilim)
Amara - Amara XML standartlarına uymak üzere güvenebileceğiniz araçları sağlar. (ayrıca bakınız 1.x version)
PythonXml Mevcut XML işleme çözümleri için bir dizelge sağlar.
Tabanlı Programlama(Flow Based Programming)
Python and Flow Based Programming (pipelines)
Isaretledim okuyacagim. Tesekkürler…