Python dili nesne yönelimli (OOP) , yorumlayıcı, modüler , etkileşimi yüksek ( makine dilinden çok insan diline yakın) bir yapıya sahiptir. Programlama dilleri genel itibariyle insan ile makine arasında köprü oluşturarak çalışırlar. Bu noktada bir dilin makine diline daha yakın olması çalışma performansı anlamında daha yüksek ve verimli sonuçlar verir fakat öğrenme bakımından daha zor yapılara sahiptir. Python programlama dili ise tam aksine insan yapısına daha yakın özellikler taşıdığından diğer programlama dillerine göre öğrenmesi daha kolaydır. Her türlü platformu (Windows, Linux, Mac , Symbian) destekliyor olması da son yıllarda bu dilin popüler bir hale gelmesini sağlamıştır.
Neden Python Dili Kullanılmalıdır?
Python’ı tercih etmek için en geçerli sebeplerden birisi de ücretsiz ve açık kaynaklı bir dil olmasıdır. Yani web geliştiricileri tarafından python kodları geliştirilebilir, güncellenebilir ve değiştirilebilir olması dili esnek bir hale getiriyor. Öğrenmesi kolay bir dil olduğu için yeni başlayanlara zamandan tasarruf , uzmanlar için ise bir çok avantaj sağlıyor. Sade bir yapıya sahip olan python herhangi bir web tabanlı proje fikrinin de kolayca hayata geçirilmesine olanak tanıyor.
Python Dili Kullanım Alanları
Python ile web programlama , sistem programlama, Kullanıcı arabirimi programlama, web sayfaları için uygulama ve veritabanı sistemleri yazma, masaüstü uygulamalar geliştirme, oyun geliştirme, ağ sistemleri tasarlama, bilimsel ve akademik verilerde, büyük verilerin (big data) işlenmesinde, yapay zeka sistemlerinde , siber güvenlikte ve daha bir çok alanda kullanılmaktadır. Python ile kendi web projelerinizi de hızlı bir şekilde hayata geçirebilirsiniz.
Python Dilinin Dezavantajları
Python kullanım alanları bakımından ne kadar geniş ve öğrenmesi kolay bir dil olsa da bazı dezavantajları bulunmaktadır. Bunlar:
- Yorumlanarak çalışan bir sisteme sahip olduğu için popüler diğer dillere göre daha yavaş çalışır.
- Python bir programlama dilinin temel çalışma prensiplerini içerdiğinden , Java gibi bir dili python öğrendikten sonra öğrenmek daha zordur.
- Significant whitespace denilen boşluklar kullanması nedeniyle okunabilirlik anlamında kafa karıştırıcı olabilir.
En Çok Kullanılan Python Web Kütüphaneleri
Python kütüphaneleri genellikle programlama dili içerisinde daha az kod yazarak daha fazla özellik çalıştırmak için tercih edilmektedir. Farklı özellikleri kullanabilmek, temiz bir kod yazabilmek ve web sayfalarının daha hızlı yüklenebilmesi için kullanılan bu kütüphaneler arasındaki en popüler olanları şu şekilde sıralanabilir:
Django
Python programlama dili için en çok tercih edilen web kütüphanelerinden birisidir. İçerisinde barındırdığı modüller sayesinde kullanıcılarına web geliştirme konusunda hız kazandırır. Modern yönetim paneli ve veritabanı sistemi ile projeler daha kolay bir şekilde yönetilebilir. Sonuç bazlı çalışan bu framework hatalar hakkında detaylı raporlar sunarak, zaman tasarrufu sağlar.
NumPy
Numerical Python şeklinde açılan bu modül veri bilimcilerin çok fazla tercih ettiği kütüphanelerdendir. Yüksek ölçekli matematik ve bilimsel hesaplamaları saniyeler içerisinde çözüme ulaştırır. Kullanıldığı alanlar:
- Veri Madenciliği (Data Mining)
- Makine Öğrenmesi (Machine Learning)
- Veri Analizi (Data Analyze)
SciPy
Scientific Python modülü veri bilimciler tarafından tercih edilen bir diğer kütüphanedir. NumPy ile benzer özellikler gösterir. Fakat matematiksel hesaplamalara oranla daha fazla bilimsel hesaplamalar üzerine yoğunlaşır.
Matplotlib
Mathematical Plot modülü matematiksel olarak yapılan hesaplamaların 2 ya da 3 boyutlu olarak görüntülenebilmesini sağlayan web kütüphanesidir. Zengin dokümanlara sahiptir ve kullanımı kolaydır.
SciKit Learn
Science Kit modülü büyük veri işleme, regresyon ve küme analizleri yapmak için kullanılan çok fonksiyonlu bir kütüphanedir. Matematiksel ve bilimsel hesaplamalarda numpy , scipy ve matplotlib kütüphaneleriyle entegre bir şekilde kullanıldığından bu 3 kütüphaneye hakim olmak scikit learn aracının kullanımını kolaylaştıracaktır.
Keras
Bir veya daha fazla gizli katmanı bulunan yapay ağların ve algoritma sistemlerinin bulunduğu derin öğrenmeyi tanımlamak ve çözümlemek için kullanılan araçlardan birisidir. Keras aracına benzerlik gösteren üst düzey kütüphaneler:
- Tensor Flow
- Theano
- PlaidML
- CNTK
PyTorch
Python meşalesi olarak anılan bu modül Torch kütüphanesinden faydalanarak , bilimsel ve doğal bilgileri işleme ve sentezleme görevlerini yerine getirir. Facebook tarafından geliştirilen Tensow Flow aracına benzerlik göstermektedir.
Pandas
Büyük veriyi işlemek, analiz etmek ve raporlamak için kullanılan bir web kütüphanesidir. Genel olarak istatistiki tabloların işlenebilmesi için bir veri yapısı oluşturur ve bu yapı içerisinde tabloları farklı işlemler kullanarak analiz eder.
Caffe
Web , mobil , yönetim paneli uygulamaları oluşturmak için kullanılan bir modüldür. Derin öğrenme ile bağlantılı olan bu modül metin ve kod kirliliğinin önüne geçerek sinir ağlarını uygulamaya yarar.
Gensim
Veri modellemesi ve makine öğrenmesi konularında çokça başvurulan ücretsiz ve açık kaynaklı bir web kütüphanesidir. Python dışında Cython programlama dilinde de kullanılan bir kütüphanedir.
Python İle Kodlama Örnekleri
Ekrana Yazdırma
Python dersleri izlerken de çokça karşılaşılan “Merhaba Dünya” metnini ekrana yazdırmak için şu komut kullanılır:
Print("Merhaba Dünya");
Yorum Oluşturma
Yalnızca web geliştiricisinin gördüğü yorum alanı python dilinde şu şekilde oluşturulur:
#burasıYorumAlanı
Çok satırlı yorum ekleyeceğiniz zaman her satıra # sembolünü koymanız gerekmektedir.
Değişkenler (Variables)
Değişken tanımlamak için python üzerinde herhangi bir komut bulunmamaktadır. İstediğiniz değişkeni ve değerini belirlediğiniz zaman otomatik olarak oluşturulur. Örneğin:
x: 10
y: “Sarı”
print(x)
print (y)
Değişkenleri herhangi bir veri tipiyle (string, int, number) belirtmeniz gerekmez. Yalnızca veri tipini değiştireceğiniz zaman belirtmek gerekir.
X= str(5) # X değişkeni number tipinden string tipine dönüştürüldü. (“5”)
Y=int(5) #Y değişkeni int olarak tanımlandı. (5)
Z=float(5) #Z değişkeni float olarak tanımlandı. (5.0)
Değişken oluşturmak için uyulması gereken kurallar şunlardır:
- Değişkenler harf ya da alt çizgi ile başlamalıdır.
- Değişken tanımlanırken rakam ya da sayı başa gelemez.
- Değişkenler sayılar, karakterler ve alt çizgi içerebilir.
- Büyük-küçük harflere duyarlılıkları vardır. isim ile İSİM farklı değişkendir.
Veri Türleri
Python dili için 7 farklı veri türü bulunmaktadır.
Metin: Metinleri belirtmek için string yapısı kullanılır. Str ile tanımlanır.
Sayısal: Tam sayılar int , ondalık sayılar için float, kompleks sayılar için (a+b) complex terimi kullanılır.
Sıralama: Listeleme yapmak için list, tuple , range ifadeleri kullanılır.
Eşleme: Dict ile tanımlanır.
Set: Set ve frozenset parametrelerini kullanır.
Doğrulama: Bir ifadenin veya döngünün true ya da false olduğunu tespit etmek için kullanılır. Bool ile ifade edilir.
İkili Türler: Bytes, bytearray, memoryview parametrelerini kullanır.
Veri türleri şu şekilde yazdırılır:
x="Python"
Print(type(x))
Python Operatörleri
Operatörler bir değişkeni tanımlamak ya da birden fazla değer veya değişkeni birbiriyle işleme sokmak için kullanılırlar. 7 temel operatör bulunmaktadır.
Aritmetik Operatörler
Operatör | Örneği |
+ | X+Y |
– | X-Y |
* | X*Y |
/ | X/Y |
% | X%Y |
** | X**Y |
// | X//Y |
Atama Operatörleri
Operatör | Örneği |
= | X= 1 |
+= | X+=3 -> X = X+3 |
-= | X-=5 -> X = X-5 |
*= | X*=7 -> X= X*7 |
/= | X/=9 -> X= X/9 |
//= | X//=11 -> X = X//11 |
%= | X%=13 -> X = X%13 |
**= | X**=15 -> X = X**15 |
&= | X&= 17 -> X = X&17 |
|= | X|=19 -> X = X|19 |
^= | X^=21 -> X= X^21 |
>>= | X>>=23 -> X=X>>23 |
<<= | X<<=25 -> X= X<<25 |
Karşılaştırma Operatörleri
Operatör | Anlamı | Örneği |
== | Eşittir | X==Y |
!= | Eşit değildir | X!=Y |
> | Büyüktür | X>Y |
< | Küçüktür | X<Y |
>= | Büyük ya da eşit | X>=Y |
<= | Küçük ya da eşit | X<=Y |
Mantıksal Operatörler
Operatör | Örneği |
And (Ve) | X<5 and x<10 |
Or (Veya) | X<10 or x<9 |
Not(Değil) | Not(x>4 and x>7) |
Kimlik Operatörleri
İs ve not parametrelerini kullanılır. X, Y değişkenine eşit olduğunda is, eşit olmadığında not kullanılır.
Üyelik Operatörleri
Üyelik operatörleri bir dizinin nesnede olup olmadığını test etmek için kullanılır. In ve not in değerlerini alır.
Bit Operatörleri
Bit operatörleri ikili (binary) sayıları karşılaştırmak için kullanılan operatörlerdir.
- & ve anlamına gelir.
- | yada anlamına gelir
- ^ iki bitten bir tanesi koşulu karşılamalıdır.
- ~ değil anlamına gelir
- << Sağ taraftan sıfırları iterek sola kaydırmak için kullanılır.
- >> Sol taraftan sıfırları iterek sağa kaydırmak için kullanılır.
Python Nesne Oluşturma
Birden fazla değişkenin bir markayla ilgili olduğu durumlarda nesne yapıları kullanılır.
Nesne = {
“İsim” : “Ali” ,
“Meslek” : “Doktor”,
“Yaş” : 27
}
print(nesne([“meslek”])
Bir nesne içerisinde kaç öge bulunduğunu “print(len(nesne))” komutu ile öğrenebiliriz.
Python IF ve ELSE Koşulları
Bir koşul içerisinde if komutu o koşulun doğru çalıştığı durumlarda tetiklenir. Koşul doğru değilse Else kısmındaki değer output olarak kullanıcı ekranına yazdırılır. Örneğin:
X= 20
Y= 20
if a<b :
print("X değeri Y değerinden küçüktür")
else a==b :
print ("X değeri Y değerine eşittir")
Verilen örnekte x değeri y değerine eşit olduğu için if koşulu görülmez ve else koşulundaki değer bastırılır.
Python FOR ve WHİLE Döngüleri
For Döngüsü
Bir liste içerisinde yineleme ya da tekrar yapmak için for döngüsü kullanılmaktadır. Örneğin :
Meyveler = [“elma” , “çilek” , “muz” , “kiraz”]
for x in Meyveler :
print(x)
Bu komutlar girildiğinde dizi içerisinde yer alan her eleman 1’er kez çıktı alanına yazdırılır.
While Döngüsü
While döngüsü koşul doğru oldukça çalışmaya devam eder. While koşullarında arttırma operatörünü kullanmayı unutmamalısınız. Aksi takdirde döngü sonsuza doğru gideceğinden hata ile karşılaşabilirsiniz. Örnek bir while döngüsü şu şekilde olmalıdır:
i= 1
while i<10 :
print(i)
i+=1
İlk değer 1 olmak üzere 10’dan küçük olan tüm sayılar ekrana yazdırılır.
Python Fonksiyon Oluşturmak
Python’da fonksiyon oluşturmak için “def” anahtar kelimesi kullanılmalıdır.
def fonksiyonum() :
print(“Benim fonksiyonum çalıştı”)
Fonksiyonu ekranda görüntülemek için “fonksiyonum()” komutu girilmelidir.
Python Dilinde Dizi Oluşturma
Bir değişken içerisinde birden fazla değeri depolamak için dizi sistemleri kullanılmaktadır. Süt ürünlerini içeren bir dizi oluşturmak için :
sutUrunleri = [“peynir” , “ayran” , “yoğurt”]
ifadesi kullanılmalıdır.
Python Tarih Modülü
Python ile güncel tarih bilgilerini görüntülemek için “datetime” modülünü “import” komutuyla içeri aktarmalısınız.
Import datetime
T= datetime.datetime.now()
Print(T)
Python Matematik Komutları
En Küçük ve En Büyük Sayı Bulma
Sıralı bir ifade içerisindeki en küçük sayıyı bastırmak için min() , en büyük sayıyı bastırmak için ise max() ifadesi kullanılmalıdır.
x = min(5, 10, 15 , 20 ,25 , 30)
y = max (40, 50 , 60 , 70 , 80 )
print(x)
print(y)
Üslü Sayılar
125 sayısını 5*5*5 şeklinde yazdırmak için şu komutu kullanın:
S = pow (5, 3 )
Print(S)
Karekök Alma
Import Math
X = math.sqrt(121)
Print(X)
Sqrt komutu ile 121 sayısının karekökü olan 11 bastırılır.
Sayıları Aşağıya ve Yukarıya Yuvarlama
Sayıyı yukarıya doğru en yakın tam sayıya yuvarlamak için math.ceil() , aşağıya doğru en yakın tam sayıya yuvarlamak için ise math.floor() komutu kullanılmalıdır. Örneğin:
Import Math
y = math.ceil(4.6)
a = math.floor(4.3)
print(y)
print(a)
Çıktı olarak y değişkeni yukarıya doğru en yakın olan 5 değerine, a değişkeni ise aşağıya doğru en yakın tam sayı olan 4 değerine yuvarlanır.