Veri

Python Kursu

Python kursunda programlamanın temel konuları dışında veri bilimi (data science) ve yapay us (yapay zeka - artificial intelligence) konuları için gerekli temel konular anlatılır. Ancak bu kurs belirtilen konular dışında da Python programlama ile ilgili alanları da kapsar.
Python kursunda programlamanın temel konuları dışında veri bilimi (data science) ve yapay us (yapay zeka - artificial intelligence) konuları için gerekli temel konular anlatılır. Ancak bu kurs belirtilen konular dışında da Python programlama ile ilgili alanları da kapsar. Başka bir deyişle, Python dili ile geliştirme yapmak isteyen kişilerin bilmesi gereken hemen her şeyi içermektedir.

Python İle Programlama

Temel Konular

Python dili ile betim (script) yazmak için gereken söz dizimi (syntax) öğeleri bilinmelidir. Her dilde olan, ekrana basma (echo) ve ekrandan girdi okuma (read input) işlemleri öğrenilmelidir. Temel konular arasında değişken (variable) kavramı ve veri türleri (data types) iyi anlaşılmalıdır. Özellikle sicim (string) ve sayı (number) türleri en çok bilinmesi gereken veri türleri arasındadır. Python diliyle işlenen verilerin çoğu sicim ve sayı türündedir.

Her yazılım geliştirme dilinde olduğu gibi Python dilinde de akış denetimi (flow control) adı verilen yapılar kullanılır. Örneğin koşul (condition) yapıları için if-else (ise-değilse) ve açkı (switch) yapısı kullanılır. Dilde döngü (loop) yapılarından için (for) ve sürece (while) bilinmelidir. Bu yapılar, verileri satır satır alıp okumak ve işlemekte kullanılır.

Gelişmiş Yapılar

Python dilinde temel yazılım geliştirme özellikleri dışında gelişmiş yapılar da bulunur. Bunlardan işlev (function), sık sık yapılan işlerin bir kez yapılıp sürekli kullanılmasını sağlar. Bir çok işlevden oluşan ve modül (module) adı verilen, ayrı dosyalarda tutulan kod parçaları da yazılabilir. Yazılan kodda bir modülü kullanmak için içe alma (import) işlemi yapılır. Söz konusu araçlar temelin ötesinde gelişmiş uygulamalar yazmak gereklidir ancak bir çok kişi bu biçimde yazdığı için öğrenilmeleri çoğu durumda koşuldur.

Birden çok veriyi tutmak için dizi (array) adı verilen yapılar bulunur. Python dilinde dizilerin kullanımı oldukça kolaydır ve bir çok gelişmiş özellik içerir. Ancak kimi zaman sağladığı çok sayıda kolaylığı öğrenciler karıştırabilmektedirler. Dizi dışında daha gelişmiş veri tutma özelleri barındıran dizelge (list), sözcük (dictionary) ya da kimi dillerde bilinen adıyla eşlem (map), küme (set) gibi biriktiri (collection) yapıları da bulunmaktadır. Birbiriyle ilintili veriler, örneğin kayıtları tutmak için demet (tuple) adı verilen bir yapı bulunur. Bunlar verilerin toplu bir biçimde işlenmesi için gereklidir. Çoğu sorunu çözmek için yukarıdaki veri yapılarından biri veya bir kaçı birlikte kullanılır.

Nesne-Yönelimli İzlendirme (Object-Oriented Programming)

Python dili işlevsel izlendirme (functional programing) adı verilen, kod yazımını bir takım işlev (function) yapılarıyla gerçekleştirmek ve gerektiğinde bunları çağrımak biçiminde yapılan tekniği desteklediği gibi nesne-yönelimli izlendirme (object-oriented programming) adı verilen tekniği de destekler. Buna göre belli bir konuyla ilgili değişken (variable) ve işlev (function) birimleri bir arada sınıf (class) adı verilen karmaşık tür bildirimleri yapılır ve bunlardan nesne (object) ve örnek (instance) adlı karmaşık veri tutan yapılan üretilir.

Uygulama ve Örnekler

Eğitimlerde temel konularda uzun uzun örnekler yapılması yerine, daha ileri konularda bunları yerinde kullarak anlatılması yoluna gidilmektedir. Özellikle daha önce başka bir programlama dilinde çok temel yapıları genel olarak da olsa bilenler için giriş konularında takılmak yerine ileri konular çabuk geçiş sağlanması konuların iyi anlaşılmasını sağlayabilir. Örnekler bir tablonun ve onun satırlarının üzerinde çalışma, verileri sicimden sayıya ya da sayıdan sicime dönüştürme ve sicimler üzerinde kimi değişiklikler yapma biçiminde gerçekleştirilmektedir. Bu işlem de veri bilimi gibi veriler üzerinde işlem yapan konular için öğrenilmesi koşul olan konulardır. Başka bir deyişle, örnekler kuramsal değil gerçek yaşamdaki uygulamalara göre belirlenmektedir.

Veri Dosyaları, İşleme ve Görselleştirme

Dosyalar

Python dilinde sırtlı (dosya - file) işlemleri için bir çok destek bulunur. XML, JSON ve CSV gibi bir çok veri saklama biçimlenmesinde yazılmış dosya Python dilinde kolayca okunabilir veya bunlara yazma yapılabilir. Öte yandan örün (web) ve veritabanı (database) işlemleri için kullanılan sunucuya göre bir betiklik (library) yüklemek gerekebilir. Bu yolla HTML, SQL ve NoSQL gibi konularda destek sağlanmış olur. Python dilinde veriler çoğunlukla dosyalar biçiminde girdi olarak alınır ve sonuçlar da dosya biçiminde çıktı olarak verilir. Bunun en önemli nedeni işlenecek verilerin veritabanı gibi kaynaklardan gelmesi ve bu kaynaklara doğrudan bağlanmak yerine onlardan dışa alma (export) ile edinilmiş dosyalarda çalılmasıdır. Bu biçimde Python geliştiricisi veritabanlarıyla doğrudan uğraşmak durumunda kalmaz. Öte yandan, sonuçların dosya olarak üretilmesi de bunları işlenmek üzere OpenOffice veya Microsoft Office gibi uygulamaların kullanabilmesini sağlar. Bu nedenler bir çok veri işleme süreci dosyadan ana verileri alıp sonuçları dosyalara üretir.

Çizitler (Charts) ve Graphics (Çizgeleme)

Python dili için matplotlib gibi bir çok betiklik (library) çizim yapmaya olanak verir. Desteklenen işlemler histogram ve pasta gibi çizit (chart) yapıları ve analitik geometri gibi konular için çizgeleme (graphics) yapma gibi işlemler sayılabilir. Söz konusu betiklik Python dilindeki dizi (array) ve demet (tuple) benzeri yapıları doğrudan destekler. Örneğin bir demet dizisini parametre olarak verip, hangi sütunlarda hangi işlemler yapılacağı söylenirse ona göre bir çizit oluşturulabilir. Python gibi diller verilerin işlenmesi dışında görselleştirme (visualization) için de kullanıldığı için çizgeleme araçları önemli bir işlev görürler. Dahası, bir çok kişi Python dilini, başka araçlarında eklenmesiyle birlikte R veya MATLAB gibi bir matematik uygulaması gibi kullanır. Bu nedenler görselleştirme bilinmesi gereken önemli bir konu durumundadır.

Örnekler ve Uygulama

Eğitim boyunca gerçekte kullanılan veri türlerinden olşturulmuş dosya türleriyle çalışılmaktadır. Özellikle veri bilimi (data science) için veritabanlarından dışa alma (export) ile edinilmiş dosyaların okunması üzerinde durulur. Verilerin okunduktan sona sayımbilim (statistics) özetlerinin çıkarılması ve çizgeleme (graphics) ile kullanıcıya gösterilmesi biçiminde örnekler yapılmaktadır. Bu örnekler Python ile yapılan; matematik, bilim (fen), teknoloji ve iş dünyasında gerçekten kullanılan yöntemlere bir taban oluşturmaktadır. Buradaki örnekleri anlayarak yapabilenler için sonraki konuları anlamak daha kolay olacaktır.

Yararlı Betiklikler

İşletim Düzeni (Operating System)

Python dili ile işletim düzeni (operating system) ile ilgili bir çok işlev bulunmaktadır. Bunlar arasında kütükleme (logging), süreçler (processes), yivler (threads) gibi konular sayılabilir. Bunların dışında güvenlik (security) ilgili destek ileri düzeydedir. Python dili, ilk başlarda veri bilimi gibi bir alan için kullanılması için değil, işletim düzenlerinde bir çok işlemi kolay yapmak için yazılmıştır. Dolayısıyla düzen destek (system support), yığın görevleri (batch jobs) ya da güvenlik (security) gibi konularda işlem yapanlar için çok geniş destekler bulunmaktadır. Bu yönüyle işletim düzenin bir kabuk (shell) üzerinden kullanmaya göre son derece gelişmiş bir altyapı sağlar.

Ağ (Network)

Python dili TCP/IP düzeyinde hem TCP hem de UDP ile priz programlama (socket programming) gibi düşük düzeyli ağ (network) işlemlerini desteklemektedir. Bunun dışında POP3, SMTP, IMAP, FTP, HTTP gibi çok sayıda iletişim kuralı (protocol) desteklenmektedir. Söz konusunu konular tek başlarına çok yararlı gibi görünmese de gelişmiş bir uygulama bu konulardan birini ya da bir kaçını kesinlikle içerir. Öte yandan buradaki betiklik (library) seçenekleri doğrudan kullanılmak yerine, bunların üzerine geliştirilmiş daha ileri düzeyde betiklikler de yeğlenebilir. Ancak ileri modülleri kullanmak için de temelleri, doğrudan kullanılmasa bile bilmek gereklidir.

Çizelemeli Kullanıcı Arayüzü (Graphical User Interface - GUI)

Python dilinin kendisinde bir kullanıcı çizelemeli kullanıcı arayüzü (graphical user interface - GUI) bulunmaz. Ancak Qt ve Tkinter gibi, C/C++ tabanlı gelişmiş ve işletim düzeninden bağımsız betiklikleri destekler. Bir çok kişi için Python arka-uç (back-end) yakasında kullanılan bir dil olsa da ön-üç (front-end) için de desteği bulunmaktadır. Ancak bu destek çoğunlukla sıradan kullanıcıların kullandığı masaüstü uygulamaları yapmaktan çok, işi verilerle ya da işletim düzeniyle çalışmak olan kişilere görsel bir arayüz sağlayan uygulamalar yapmak için kullanılır.

Örnekler ve Uygulama

Eğitim kapsamında örnek olarak bir sohbet (chat) uygulaması yapılmaktadır. Örnekte çok yivli (multi-threaded) bir sunucu (server) ve birden çok istemci (client) arasında ileti alışverişinde bulunulmaktadır. Qt ya da Tkinter ile görsel bir arayüz yapılarak sunucu ve istemci sınanmaktadır. Buradaki örnek, anlatılan konuların daha iyi anlaşılmasını sağladığı gibi daha gelişmiş ve karmaşık uygulamaların nasıl geliştirilebileceği konusunda da bir taban oluşturması açsından işletim düzeni, ağ ya da görsel arayüz gibi konularla ilgilenmeyen kişilere de önerilmektedir.

DJango Çatısı

DJango Çatısına Giriş

Python dili çoğunlukla işletim düzeni (operation system) üzerinde işleri kolaylaştıracak bir betim (script) dili ya da veri bilimi (data science) veya yapay zeka (artificial intelligence) gibi uzbilim (mathematics) ve bilgisayım bilimi (computing science) gibi konuları içeren alanlarda yaygın olarak kullanılır. Ancak örün (web) ve veritabanı (database) gibi alanlarda; Java, C#.NET ve PHP gibi dillerdekine benzer biçimde de kullanılabilir. Bu amaçla geliştirilen çatı (framework) ürünlerinden en yaygın kullanılanlarından birisi de DJango adını taşır. Bu çatıda olağan örün ve veritabanı konuları dışında ORM ve MVC gibi gelişmiş teknikler de desteklenir.

Örnek bir Örün Veritabanı Uygulaması


Eğitim sırasında örnek olarak bir veritabanı (database) ile çalışan örün uygulaması (web application) yapılamaktadır. ORM ve MVC tekniği ile CRUD adı verilen, tablolarda temel işlemleri içeren bir uygulama yapılamaktadır. Buradaki örnekle Python ile içerik (content), e-ticaret (e-commerce) gibi sitelerin nasıl yapıldığı da öğrenilmiş olur. Bu biçimde Java, C#.NET ve PHP gibi konulara da girmek isteyenler için öğrenme kolaylığı sağlar.
Bu konularda ayrıntılı bilgi, kurs, özel ders, uzaktan eğitim, ödev ve proje destek, kitap ve video için tıklayın : Python Business Intelligence, Data Science ve Machine Learning
Godoro , 30.05.2018

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir