ProgramlamaPython

Python ve Temelleri

Herkese merhabalar bu yazımda python hakkında ve python temelleri ile ilgili bilgi vereceğim. Öncelikle python’un oluşumundan başlayalım:

Python yorumlanmış, yüksek seviyeli ve genel amaçlı bir programlama dilidir. Python’un tasarım felsefesi, önemli boşlukların değer kullanımı ile kod okunabilirliği vurgular. Dil yapıları ve nesneye yönelimli yaklaşımı, programcıların küçük ve büyük projeler için net, mantıksal kod yazmalarına yardımcı olmayı amaçlamaktadır.

Bununla birlikte birkaç yılda python modern yazılım geliştirme, altyapı yönetimi ve veri analizinde birinci sınıf bir programlama olarak ön plana çıkmıştı. Artık hackerlar için bir arka kapı oluşturucusu değil, web uygulaması oluşturma ve yönetiminde önemli rol alma, veri analizleri ve makine öğreniminde parlayan bir dil olarak ün kazanmıştır. Python öğrenmek ve öğrenmek kolay.

Python uygulanabilirdir ve kullanım çerçevesi oldukça geniştir.

İsminin az duyulmasına rağmen, yazılımcılar arasında popüler hem de yaygın. Github projelerinin birçoğu python tabanlı oluşuyor. Hatta tiobe ve github gibi programlama örnekleri sıralandığı sistemlerde, python tabanlı programları en üst sıralarda görmekteyiz. Kullanım alanı en küçük işletim sistemlerinden en büyük işletim sistemlerine kadar birçok OS tarafından destekleniyor. İnternette yer alan büyük yazılım kütüphanelerinin ve API destekli servislerin mutlaka python tabanlı bindings ya da wrappers’ları bulunur. Bundan python, bu servisler ile serbestçe arayüz oluşturuyor veya bu kütüphaneleri kullanıyor. Yazılım dilleri arasında en hızlısı olmasa da çoklu platformda bir adım olmasını sağlar.

Python programı dili kısa ve kısa sözdiziminden oluşuyor. Python’un standart “Merhaba Dünya” yazısı şu şekilde oluşur.

                      print("Hello World!")

Şimdi ise python’un temellerinden konuşalım bakalım:

Python da oluşan

* Matematik Operatörlerden

* Stringlerden

* Print Fonksiyonundan

* String İşlemlerinden

* Değişkenlerden

* Listelerden

bahsedeceğim.

Matematiksel Operatörler:

Pythondaki matematiksel operatörlerimiz hesap makineleriyle aynıdır. Bunlar +, -, *, / operatörleridir.

Örnekler verelim,

>>> a = 5 + 5
>>> print(a)
10
>>> 

A değişkenimize iki sayı değeri verdik ve bunları matematiksel işlemler den + operatörünü kullanarak toplattık ve a ya atadık. Daha sonra print ekrana yazdırma komutu ile a değerinin sonucunu ekrana yazdırdık ve ekran çıktımız 10 olmuş bulunmakta.

!!!! Buradaki önemli nokta 10 nun sayı olarak değil bir string ifade olarak işleme konulmasıdır.

!!!!! PRİNT : Ekrana yazdırma komutumuz.

Şimdi iki değişkenli örnek verelim,

>>> a=7
>>> b=a+8
>>> print(b)
15
>>> 

Burada da a değişkenimize bir değer verdik. b değişkenimizi bulmak içinde a değerimiz ile + operatörümüzü kullanarak yeni bir değerle toplatarak b değişkenine atadık. B değerimizin sonucunu print komutu ile ekrana yazdırdık. Ekran çıktımız 15 olmuş oldu.

İki değişkenli olduğu gibi çoklu değişkenli yapılar da karşımıza çıkabilir. Şöyle ki:

>>> a=(3+9+8)/2
>>> b=(7+5+6)/(4-2)+1
>>> print((a+b)*(a-b))
20.0

Matematikte olduğu gibi her programlama dilinde ve pythonda işlem önceliğine dikkat edilir. Bir diğer dikkat edilmesi gereken unsur bölme işlemidir.

Öncelikle a ve b değişkenimize verdiğimiz değerlerden parantez içleri hesaplanır, işlem önceliğine uyularak hesaplamalar yapıldıktan sonra a ve b değerleri bulunur. Print komutumuzun çalışması için a ve b değerlerimiz yazılır, sonuç hesaplanarak ekrana okutulur. Ekran çıktımız 20.0 ondalık sayı (float) değer ortaya çıkar.

Diğer matematiksel operatörlerden bahsedelim:

// = Bir işlemdeki ondalıklı kısmı alır.

Örneğin,

>>> 22//7
3
>>>

İki integer sayıyı böldüğümüzde eğer bir kalan oluşursa python bunu görmezden gelir ve sadece ondalık kısım alınır virgülden sonraki sayılar önemsiz sayılır.

% = Bir işlemdeki kalan kısmı verir. Mod alma da diyebiliriz bu işleme.

Örneğin,

>>> 18%4
2
>>> 

Python burada sadece kalan kısma odaklanır diğerlerini göz ardı eder.

** = Bir sayının üssünü verir.

Örneğin,

>>> 5**3
125
>>> 

Biz python da üs alma (a^b) işlemini ‘ ** ‘ operatörümüzü kullanarak yapıyoruz.  5 in küpü şeklinde ortaya çıkıyor. 5 taban 3 ise kuvveti oluyor.

!!! Biz ileride değişkenlerle ilgileneceğimiz için çoğu veriyi depolamak amacıyla bizim değişkenlere ihtiyacımız olacak . İleride bahsedeceğim ama burada bir örneğini yapmak istiyorum.

>>> x=4
>>> 20*x
80
>>> y=5
>>> x/y
0.8
>>> x//y
0
>>> 

x değişkenine 4 değerini atandı. 20*x de sonucumuzu 80 olarak ortaya çıkarıyor.(20×4 gibi davranıyor yani) Değişkenlerimizi bu şekilde tanımlayabiliyoruz. Daha sonra y değişkenine 5 değeri atandı. x/y işleminde sonucumuz 0.8 ondalık sayı olmasına rağmen x//y işleminde 0 olarak ortaya çıktı. Çünkü ondalık kısım yok oldu. ‘ //  ‘ operatör kullanıldığı için.

Matematik işlemleri bu şekilde arkadaşlar. Biz bu işlemleri bir çok yerde kullanacağımız için önemli bir konu. Bir sonraki makalem de ilerlemeye devam edeceğim bu konudan . Bu temel kısımları öğrenmeniz önemli bunları ciddiye almanızı öneririm.

Stringler :

Stringlerimizi biz pythonda yazı gibi düşünüyoruz her ne kadar etrafta dizge olarak söylense de . Bir programda gördüğünüz her yazı bir stringtir arkadaşlar ama siz bunu string olarak düşünün yani olduğu gibi düşünmeniz daha iyi.

String tanımlama biçimi iki farklı biçimde olabiliyor. Şu şekilde:

>>> "coderator"
'coderator'
>>> 'coderator'
'coderator'
>>> 

Çift tırnak olarak tanımlandığında bir string olarak tanımlanıyor ve sonucumuz bir string değer olarak ortaya çıkıyor.

Tek tırnak olarak tanımlandığında da bir string değer olarak ortaya çıkmaktadır.

Bir örnek verecek olursak:

>>> 'Ayşe'nin iki elması var.'
SyntaxError: invalid syntax
>>> 

Bu şekilde hata alırız . Hata almamızın sebebi şu şekilde başlangıç tırnağı gördüğü ilk tırnak, bitiş tırnağını ise sondaki tırnak değil de ilk gördüğü tırnağı bitiş tırnağı olarak ele alıyor. Yani sadece Ayşe yazısını string olarak ele alır diğerlerinde hata verir. Bunu şu şekilde doğru hale getirebiliriz:

>>> "Ayşe'nin iki elması var."
"Ayşe'nin iki elması var."
>>> 

Başlangıç tırnağı çift tırnak ve yalnızca çift tırnakla bitmesi gerekiyor. Hata vermeden ekran çıktımıza ulaşmış olduk böylece.

İkinci ve önemli bir yöntemimiz daha var şu şekilde:

!!! Kaçış Dizisi (\) :

Önüne geldiği karakterin anlamını değiştirir.

>>> "Ayşe'nin iki elması var."
"Ayşe'nin iki elması var."
>>> 

Kaçış dizisindeki tırnak bitiş tırnağı değil kesme işaretidir anlamına geliyor.

!!! Bir stringi bir değişkenin içine atmak :

İki değişken tek bir string altında birleştirilebilir.

Örneğin

>>> ilk = "python"
>>> ilk
'python'
>>> son = "temelleri"
>>> son
'temelleri'
>>> 

Bir ilk isimli değişken oluşturduk ve içine “python” stringini atadık. Artık ilk imizin değeri ‘python’ olmuş oldu. Daha sonra son isimli değişken oluşturduk ve içine “temelleri” stringini atadık. Son umuzun değeri ise artık ‘temelleri’ oldu.

Arkadaşlar biz iki stringi toplayabilir miyiz?

Evet . Python da bu geçerli bir şey . Biz iki stringi toplayabiliriz ve bu iki stringi toplayarak tek string haline çevirebiliriz.

Mesela

>>> "python" + "temelleri"
'pythontemelleri'
>>> 

Yazılım ve bilimi değerini pythonda da kullanılan + operatörü ile toplayarak tek bir çatı altında , tek bir string adı altında toplayabiliriz.

Bunu başka bir yöntemle de gösterelim:

>>> ilk
'python'
>>> son
'temelleri'
>>> ilk + son
'pythontemelleri'
>>> 

Değer verdiğimiz iki değişken olan ilk ve son değişkenlerini çağırdık . Daha sonra bu değişkenleri birlikte topladık . Sonucumuz ‘pythontemelleri’ olarak tek bir string adı altında ortaya çıktı.

>>> "python" + son + "egitim" + "makalesi"
'pythontemelleriegitimmakalesi'
>>> 

Son değişkeni ile üç stringimizi tek bir çatı altında toplayarak ‘pythontemelleriegitimmakalesi‘ sonucunu elde ettik.

Bu örneklerimizi matematiksel işlemlerimizden olan ‘*’ operatörünü kullanarak da üretebiliriz.

!!!! + ve * operatörleri stringlerde de kullanılıyor.

>>> "python" * 3
'pythonpythonpython'
>>> 

3 * python , 3 tane python anlamına geliyor ve sonucumuzu ‘pythonpythonpython’ bu şekilde tek bir string altında bastırıyor .

Stringlerimiz de bu şekilde arkadaşlar .

Print Fonksiyonu :

Arkadaşlar print fonksiyonumuz ilk fonksiyonumuzdur ve şimdi bunların stringlere uygulanmasını göstereceğim sizlere.

Print fonksiyonu içine aldığı değerleri ekrana yazdırır.

Örneğin

>>> print("Ayşe'nin iki elması var.")
Ayşe'nin iki elması var.
>>> print("Yazılım")
Yazılım
>>> 

Printin fonksiyonu içindeki değerleri çift tırnaksız olarak ekrana yazdırır.

!!! Print ile iki değeri birleştirmek istiyorsak aralarında boşluk olacak şekilde ‘,’ operatörünü kullanırız.

Örnek verelim ….

>>> print("Python","Temelleri")
Python Temelleri
>>> 

!!! Print ile iki değeri boşluksuz olarak birleştirmek istiyorsak ‘+’ operatörünü kullanırız.

>>> print("Python"+"Temelleri")
PythonTemelleri
>>> 

!!!!!! Print fonksiyonu içindeki değerler farklı parametrelerde olabilir. (ondalık sayı, tam sayı, string) Bu kısım önemli bir noktamız arkadaşlar.

>>> print("print",3)
print 3
>>> 
>>> print("Python",2,2.5,"Temelleri")
Python 2 2.5 Temelleri
>>> 

Burada da print içindeki değerleri çift tırnaksız şekilde birleştirmiş olduk. Aynı zamanda da farklı parametreler kullanarak print fonksiyonumuzu işleme sürdürdük.

Parametre konusuna ileriki makalelerimde daha ayrıntılı bahsedeceğim.

>>> "Yazılım"+3
Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    "Yazılım"+3
TypeError: must be str, not int
>>> 

Bu örneğimizde görüldüğü hata verdi.

Bu durum python da sıkıntı çıkarır . Çünkü bir tane değerimiz string bir tane değerimiz tam sayı bu ikisini toplayamıyor. İkisi de değişik değişken tiplerindedir.

O halde birleşik nasıl yazabiliriz ?

>>> print("Yazılım"+5)
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    print("Yazılım"+5)
TypeError: must be str, not int
>>> 

Bunu bu şekilde dönüştüremiyor arkadaşlar python tek string haline çeviremiyor.

Peki tek string haline nasıl çeviricez ?

Ya ikisini de string yapacağız ya da ikisini de tam sayı yapacağız arkadaşlar.

‘Yazılım’ değişkenimiz tamsayıya dönüştürülemez. Ama 5 sayımız string haline çevirebiliriz.

Peki 5 sayısını biz string haline nasıl çeviririz ?

Şöyle ki

‘str’ yardımıyla biz string haline çevirebiliyoruz arkadaşlar.

!!! STR (string) ne yapar?

İçinde olan değeri string haline çevirir.

>>> print("Yazılım"+str(3))
Yazılım3
>>> 

3 tamsayı değerini string hale çevirerek ‘Yazılım’ ile birleştirmiş olduk.

Mesela şöyle bir şey yapmak istesek:

>>> print("8"+5)

8 ile 5 aynı değerde değiller . Ama biz bunun sonucunun 13 olmasını istiyoruz.

Bunun için ne yapabiliriz?

“8” stringini de tamsayıya çevireceğim. Onu da bu sefer int yardımıyla yapıyorum . Bu int tamsayının ingilizcesidir. Yani integer ın kısaltması oluyor.

Şu şekilde devam ediyorum:

>>> print(int("8")+5)
13
>>> 

int içinde olan değeri tamsayıya çevirmiş oldu. Yani bizim değerimiz int özellikteki 8 olmuş oluyor.

print içindeki toplamda da 13 olarak ekran çıktısına ulaşmış oluruz.

Eğer ki şu şekilde yazmış olsaydık :

>>> print("8"+5)
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    print("8"+5)
TypeError: must be str, not int
>>> 

Hata ile karşılaşırdık. Hatanın sebebi ise , “8” bu değerimizi python string(yazı) olarak görüyor. Haliyle de hesaplayamıyor.

Diğer farklı bir hata ise şu şekilde:

>>> print("8.5"+2)
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    print("8.5"+2)
TypeError: must be str, not int
>>> 

Gördüğünüz gibi python bunu da hesaplayamadı. Sebebi ‘8.5’ değerini string olarak görmüş olması.

Şu şekilde düzeltebiliriz:

>>> print(float("8.5")+2)
10.5
>>> 

Bu sefer int değil de float kullandık.

!!! float : ondalık sayıların ingilizcesidir. Bu konuyu bir sonraki makalemde göstereceğim arkadaşlar.

float(‘8.5’) stringin içindeki değeri float yardımıyla ondalık sayıya çevirdik.

Daha sonra yazdır devreye girer ve bize ekran çıktımızı 10.5 olarak verir.

Şöyle bir şey diyebilirsiniz iki örnekde de int ile float sayıları neden diğer değerlerle toplandı?

>>> print(int("8")+5)
>>> print(float("8.5")+2)

Çünkü aldıkları değerlerin ikisi de sayı çeşidinden değişkenler. O yüzden bunlar python da bu şekilde elde edilebiliyoruz.

Print fonksiyonumuzda pythonda bu şekilde olmuş oluyor arkadaşlar.

Diğer python temellerini bir sonraki makalemde göstereceğim …

İyi çalışmalar dilerim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu