Python Nedir ve Nerelerde Kullanılır?

Mustafa
Kodcular
Published in
5 min readJun 23, 2022
Python

Python 1991 yılında piyasaya çıkmış açık kaynak ve nesne yönelimli bir programlama dilidir. Daha çok yapay zeka alanında karşımıza çıkmaktadır. Bunun yanı sıra birçok alanda da tercih edilme sebebidir. En çok tercih edilme sebepleri kolay yazım şeklinin olması, esnekliği, çabuk öğrenilebilmesi ve geniş bir kütüphane havuzuna sahip olmasıdır.

--------------İÇİNDEKİLER---------------1. Python Nedir?
1.1 Kurulum
1.2 Temel Özellikleri
1.3 Veri Tipleri
2. Kullanım Alanları
2.1 Web Geliştirme
2.2 Oyun Geliştirme
2.3 Otomasyon
2.4 Yapay Zeka
2.5 Masaüstü Uygulama
3. Python'un Avantajları
4. Python Kullanan Şirketler
5. Python Eğitimleri
6.
Deployment
7.
Kaynaklar
8.
Some Keywords

1. Python Nedir?

Python, Object Oriented Programming’i destekleyen ve kodları satır satır yorumlanan(Interpreted programming language), yüksek seviyeli bir programlama dilidir.

Web geliştirme, masaüstü uygulamaları, mobil uygulamalar veya donanım araçlarına kadar geliştirmeye imkan tanır.

Birçok farklı platforma desteği vardır. İşletim sistemi özelinde bir uygulama geliştirmediyseniz Linux, Windows ve MacOS gibi platformlara ara birim değişikliği gerektirmeden taşınabilir.

Python’da kod yazarken kod blokları girintiler ile belirtilir ve bu yüzden girinti boşluğu çok önemlidir. Değişken tanımlarken veri tipini belirtmeye gerek yoktur ve daha sonrasında bu değişkenin veri tipi değiştirilebilir. Pek tavsiye edilmese de değişkenlere Türkçe karakterler verilebilir.

1.1 Kurulum

Python’u www.python.org adresinden indirip herhangi bir IDE veya editör yardımıyla kodlamaya başlayabilirsiniz. Bilgisayarınıza yüklediğiniz Python sürümünü öğrenmek isterseniz aşağıdaki komutu çalıştırabilirsiniz;

python -v

Python’da bir kütüphane kurmak için sisteminizde pip yüklü olmalıdır.

Pip (PIP install packages) Python için bir paket yönetim sistemidir. Node.js’deki npm’e karşılık gelir.

Örnek bir kütüphane kurulumu aşağıdaki gibidir;

pip install selenium

Kurulu olan tüm paketleri listelemek;

pip list

1.2 Temel Özellikleri

  • Kolay ve net okunabilen bir yazıma sahiptir.
  • Dinamik veri yapısına sahiptir.
  • Modüler yapıya sahiptir ve geniş kütüphaneleri vardır.
  • Nesne tabanlı programlamaya oldukça elverişlidir.

1.3 Veri Tipleri

  • Text (Metin) Tipi: str
  • Numerik tipler: int , float
  • Liste tipleri: list , tuple , range
  • İlişki tipi: dict
  • Küme tipi: set
  • Boolean Tipi: bool

2. Kullanım Alanları?

Sahip olduğu yüzlerce kütüphane ve sağladığı avantajlardan dolayı birçok alanda Python dili tercih edilmektedir. Bu alanlardan bazıları;

  • Web
  • Otomasyon
  • Grafik Kullanıcı Arayüzü (GUI)
  • İstatistik, Veri Analizi
  • Yapay Zeka
  • Machine Learning
  • Image Processing
  • Network, Ağ Güvenliği
  • Oyun
https://twitter.com/zakiul33/status/1533772437804175366

2.1 Web Geliştirme

Python, Python ile bir web sitesinin arka ucunu(backend) oluşturmamıza izin veren Flask ve Django gibi bazı framework’lere sahiptir. Tabii ki, ön ucu(frontend) oluşturmak için hala HTML, CSS ve JavaScript kullanmanız gerekiyor. Fakat Jinja template engine’i sayesinde ön uç geliştirmeye de imkan tanımaktadır.

Flask

Python geliştiricileri tarafından geliştirilmiş web framework’üdür. Belirli araçlar veya kütüphaneler gerektirmediği için “micro framework” olarak sınıflandırılır.

  • Kolay öğrenilebilir.
  • Soft bir framework’tür.
  • Hazırda gelen decorator yapısı vardır.

Django

Flask gibi bir web framework’üdür. İskeleti hazır bir yapı sunar ve Flask’a göre daha geniş bir framework’tür. Django’da Model-View-Template dediğimiz üçlü bir yapı söz konusudur. Model, veritabanı işlerinin yapıldığı yer. Django’ya özel bir dil ile veritabanı oluşturulur. View, Python kodlarımızı yazdığımız geliştirme ortamı. Template, tasarım kısmıdır.

  • Hazır modülleri sayesinde hızlı geliştirme sağlar.
  • İlk başlarda Flask kadar alışması kolay değildir.
  • Hazır admin paneli vardır.
  • Hazır kullanıcı modeli vardır.
  • Object Relational Mapping (ORM) yapısına sahiptir.
  • Model-View-Template yapısı sunar.

PyScript

PyScript, kullanıcıların Html içerisinde Python kodu çalıştırabileceği yeni bir framework’tür. (pyscript.net)

2.2 Oyun Geliştirme

Python, Pygame gibi oyun geliştirme için kütüphanelere sahiptir. Ancak bu, yılan oyunu gibi basit şeyler geliştirmenize yardımcı olacak temel bir kütüphanedir.

Oyun geliştirme konusunda ciddiyseniz, oyun motorları oluşturmak için en popüler dil olan C++ gibi bir dil denemelisiniz.

2.3 Otomasyon

Python’un muhtemelen en eğlenceli ve en kolay uygulaması otomasyondur. Sizi tekrar eden görevler yapmaktan kurtaracak basit bir otomasyon oluşturmak için yapmanız gereken tek şey, otomatikleştirmeye değer bir şey bulmak ve ardından bu görevi otomatikleştirmenize yardımcı olacak Python kütüphanelerini öğrenmek.

Tekrar eden ya da uzun süren işlerinizi Python ile otomatik hale getirebilirsiniz. Örneğin Instagram takipçilerinizi liste olarak alıp bir dosyaya yazabilirsiniz.

Popüler python otomasyon kütüphaneleri;

  • Selenium
  • Robot Framework

2.4 Yapay Zeka

Günümüzde en revaçta olan alanlardan bir tanesi de yapay zeka alanıdır. Yapay zeka gibi konularda ilerlemeyi düşünüyorsanız Python dilini seçebilirsiniz. Yine tercih sebeplerinden biri sahip olduğu güçlü kütüphaneleridir.

Bu kütüphaneler ile öngörü, gelecek tahmini, öneri sistemleri veya yüz tanıma gibi alanlarda profesyonel uygulamalar geliştirebilirsiniz. Zaten yapay zeka konusu Python için ata sporu denebilir.

Numpy: Büyük ve çok boyutlu dizileri ya da matrisleri destekleyen ve diziler üzerinde üst düzey matematiksel işlevler barındıran bir Python kütüphanesidir. Numpy ile matematiksel işlemleri veya veri analizini çok pratik şekilde gerçekleştirebiliriz. Oldukça popüler bir kütüphanedir.

Not: Normal Python listelerine göre Numpy array yapısı daha az yer kaplar ve daha hızlı çalışır.

Pandas: Numpy genellikle matematiksel işlemler üzerine kullanılırken Pandas ise veri seti üzerinde analizler yapmak için kullanılır. Numpy ve Pandas birbirinin alternatifi kütüphaneler değil de birbirine yardımcı kütüphaneler diyebiliriz.

TensorFlow: Google tarafından machine learning(makine öğrenmesi) için geliştirilmiş, açık kaynak ve ücretsiz bir yazılım kütüphanesidir.

2.5 Masaüstü Uygulama (GUI)

Python, Grafik Kullanıcı Arayüzü (GUI) uygulamaları oluşturmak için bazı kütüphanelere sahiptir. Bunlardan biri de Tkinter’dır. Ek bir kuruluma gerek olmadan Python içerisinden Tkinter’ı import edip kullanıcı arayüzleri oluşturmaya başlayabilirsiniz. Daha profesyonel arayüz uygulamaları geliştirmeyi düşünüyorsanız PyQt en yaygın olan kütüphanedir.

Popüler arayüz kütüphaneleri;

  • Tkinter
  • PyQt (Qt Designer ile sürükle bırak tasarım yapılabilir.)
  • Kivy (Cross Platform uygulamalar yazmak içindir.)

3. Python’un Avantajları

Python geliştiriciler için birçok avantajlar sağlar. Bunlardan bazıları aşağıda listelenmiştir;

  • Kolay yazılır ve okunabilirliği rahattır.
  • Object Oriented Programming’i destekler.
  • Yazılım geliştirme maaliyetinizi önemli ölçüde azaltır.
  • Güçlü kütüphane ve framework’lere sahiptir.
  • Geniş bir topluluğa sahiptir ve modül sayısı çok fazladır.
  • Veri yapıları işlemleri diğer dillere göre daha pratiktir.
  • Hafıza yönetimi otomatik olarak yapılır.
  • Aynı kodu farklı işletim sistemleri üzerinde çalıştırabilirsiniz.
  • Ücretsiz ve açık kaynaktır.

4. Python Kullanan Şirketler

Günümüzde Pinterest, Youtube, Netflix, Spotify, Instagram, DropBox ve Reddit gibi başarılı şirketlerin çoğu Python’u kullanmaktadır. Toplulukların ve bu tarz şirketlerin desteğiyle Python kullanımı artmakta ve yeni iş imkanları doğurmaktadır.

Yıllara göre Python popülerliğindeki artışı aşağıdaki grafikten görebilirsiniz;

https://morioh.com/p/7537698a07cc

5. Python Eğitimleri

Python öğrenme sürecimde farklı farklı eğitim kaynaklarından yararlandım. Sizlere de faydalı olacağını düşündüğüm linkleri paylaşmak isterim;

6. Deployment

Python projelerinizi yayınlamak için ücretli ve ücretsiz çokça site bulunmaktadır. Deta ve Heroku ücretsiz proje yayınlamak için benim favori sitelerimden. Deta’nın bir güzelliği ise sitesinde “Deta is free for ever.” yazısının yazması. Hiç ücretli paketleri olmamakla birlikte, tamamen ücretsiz bir hizmet.

Projenizi yayınlayabileceğiniz siteler;

8. Some Keywords

oop decorators iterators generators file csv json http-requests web-scraping bot modules libraries pypi lambda debugging interpreter errors exceptions database data-structures functions list-comprehensions loops conditions anaconda jupyter selenium pyqt tkinter numpy pandas artificial-intelligience machine-learning data-science image-processing *args **kwargs api flask django jinja sqlalchemy data-visualisation testing automation robots game docstring virtualenv sdfdsf sdfsdf

--

--