Professional Documents
Culture Documents
Python
Python
Yazılım geliştirme süreci şu şekilde işler; derleyici, kodu satır satır veya bloklar halinde çalıştırıp sırası
gelmeyen satırları hiç çalıştırmayan bu satırlardaki hataları
Programcı programlama dili kullanarak kodları
hiçbir zaman göremeyen ve kodun bütününe ait
oluşturur,
iyileştirmeleri yapamayan çeviricilere de yorumlayıcı
Yazılan kod bütünü, hata ayıklayıcı (debugger)
(interpreter) adı verilmektedir.
kullanılarak hatalara karşı denetlenir,
Hataları giderilmiş kodlar, derleyici (compiler) Hata ayıklayıcılar, programcının bir programdaki olası
kullanılarak bilgisayarın yorumlayabileceği hataları bulmasına ve düzeltmesine olanak sağlayarak
elektriksel sinyallere dönüştürülür. Bu süreç programın doğru çalışması için yardımcı olur.
sonunda bilgisayar, elektriksel sinyalleri
Geliştirici bütünleştirilmiş geliştirme ortamları (integrated
yorumlayarak komutların gereğini yapar.
development environment-IDE) editörleri, hata ayıklayıcıları
ve diğer programlama yardımcılarını kapsar.
Yazılım, bilgisayarın donanımını anlamlı hale getiren,
Python Nedir?
bilgisayarları kullanıcıların amaçları doğrultusunda
kullanmasını sağlayan kod ve komutlardır. Python özgür ve ücretsiz bir programlama dilidir.
Guido Van Rossum adlı Hollandalı bir programcı
Yapılacak bir işlemi ya da hesaplamayı gerçekleştirmek için
tarafından 90’lı yılların başında geliştirilmeye
birbirini izleyen komut veya yönergelerden oluşan yapılardır.
başlanmıştır. Guido Van Rossum 2005 ile 2012 yılları
Yazılım Geliştirme Süreci: arasında Google’da çalışmıştır.
Adı “The Monty Python” adlı bir İngiliz komedi
Kullanıcı programı çalıştırdığında, yorumlayıcı grubundan esinlenerek konmuştur.
programlar, Python kodunu makine koduna çevirir. Python, öğrenmesi kolay, tamamen özgür ve ücretsiz bir
programlama dilidir.
Üst düzey program kodu kaynak kod (source code) Python’un dili başka programlama dilleri ile
olarak adlandırılır. Bu koda karşılık gelen makine diline kıyaslandığında, bunun daha az kod ile işlemleri
ise hedef kod (target code) adı verilir. Yorumlayıcı, yapmasının mümkün olduğu görülecektir.
kaynak kodu hedef koda dönüştürür. Python, bütün işletim sistemleri ile uyum içerisinde
çalışmaktadır.
Üst düzey programların güzelliği, kodlamanın
Programlama yapısı içerisinde birçok kütüphaneyi
donanımdan bağımsız olarak yapılabilmesidir. Üstünde barındırmaktadır. Bu kaynaklarla daha az kod yazmak
çalışılan platform ne olursa olsun, Python yorumlayıcısı mümkündür.
kurulu ise tüm programlar tüm platformlarda Pythton ile masaüstünde çalışan uygulamalar
çalıştırılabilir. geliştirilebileceği gibi, web üzerinde çalışan uygulamalar
geliştirmek hatta Rasperry-Pi gibi donanımları da
Editörler, programcının kaynak kodu yazmasını ve dosyaya
programlamak mümkündür.
kaydetmesini sağlar. Dili oluşturan parçaların kurallara uygun
bir şekilde düzenlenmesi söz dizimi (syntax) olarak ifade
edilir. Derleyiciler, kaynak kod içeriğini dönüştürerek hedef Python Sürümleri:
kod içeren bir dosya oluşturur. Derlenerek oluşturulan 1. Piyasada iki çeşit Python sürümü vardır. Eğer bir Python
popüler dillere örnek olarak C, C++, Java ve C# verilebilir. sürümü 2 ile başlıyorsa (2.7.11 gibi) Python 2.x, şayet 3
ile başlıyorsa (3.6.2 gibi) Python 3.x serisine aittir.
Yorumlayıcılar da derleyiciler gibi üst düzey kaynak kodu 2. Python3, Python2’ye göre daha güçlüdür ve hatalardan
hedef koda (genellikle makine kodu) çevirir ancak arınmıştır.
derleyicilerden farklı çalışır. Derleyiciler herhangi farklı bir 3. Python2 ile yazılmış bir program Python3’te çalışmaz.
dönüşüm gerekmeden defalarca çalışılabilir bir program Aynı şekilde Python3 ile yazdığınız bir program
kodu üretirken yorumlayıcılar kullanıcı kaynak kodu her Python2’de çalışmaz.
çalıştırdığında satır satır makine diline çevirir. Derlenmiş bir
Python’u Kurmak:
program, değişiklik yapılmadığı sürece tekrar derlenmez
1) Python’ı kurmak için
ancak yorumlayıcı ile çalışan program için yorumlama işlemi
http://www.python.org/downloads adresine tıklayın.
değişiklik yapılmamış olsa bile tekrarlanmalıdır. Bu nedenle 2) Downloads linkini tıkladığınızda ‘Download Python 3.x.x‘
yorumlanan diller daha çok senaryo dili (scripting language) ve ‘Download 2.x.x’ yazan yan yana iki düğme
olarak ifade edilir. Python, yorumlanan bir dil olmakla göreceksiniz.
birlikte, bunun derleyicileri de vardır. Popüler senaryo
dillerine örnek olarak Python, Ruby, Perl ve web ortamı için IDLE: Python.org web sitesinde yer alan ücretsiz program
Javascript verilebilir. geliştirme ortamıdır.
VERİ TÜRLERİ:
>>>“Merhaba Dünya”
‘Merhaba Dünya’
Not: string fonksiyonunda çift tırnak kullanmak şart değildir. Tek tırnak veya üç tırnak da
kullanabiliriz. Üç tırnak için, üç tek tırnak veya üç çift tırnak karakterleri kullanılabilir. Örnek;
print('''Bilgisayar
Bilimi
Dersi''')
Bilgisayar
Bilimi
Dersi
Peki, neden bazen tek tırnak veya çift tırnak kullanmamız gerekiyor? Örnek olarak şöyle bir
çıktı elde etmek isteyelim.
İstanbul'un havası
Yukarıdaki ifadede bir kesme işareti var. İçinde kesme işareti olan bir string’i tek tırnak içine
alamayız. Bu yüzden diğer bir alternatif olan çift tırnağı ya da üç tırnağı kullanmalıyız.
integer: Tam sayılar. Pozitif, negatif ya da sıfır değeri alabilir. Kesirli değer içermez.
Ör: 10, 0, -10
float: Reel Sayılar. Kayan noktalı sayılar da denir. Ancak burada virgül yerine nokta
kullanmamız gerekir. Ör: 12.6, 12.0, -12.0, 0.0
bool: Herhangi bir ifadenin doğruluğunu veya yanlışlığını sorgular. True, False
Python Ders Notları - 3
FONKSİYONLAR
print(“””””Ali”””””)
“”Ali
Açıklaması: İlk üç tırnak ile string açıldı, sonra kalan iki tırnak ve Ali ekrana yazıldı, Ali’den
sonra ki üç tırnak ile string kapandı, daha sonra tırnak ile yeni bir string açılıp yine tırnakla
kapanarak içi boş bir string yazıldı.
print("bilgi"+”sayar")
bilgisayar
print( “Bilgisayar"+" "+"Bilimi”) ortadaki çift tırnağın içinde bir boşluk karakteri
var.
print(5) 5
print(“5”) ‘5’
print(-5) -5
print(5+4) 9
print(“5+4”) ‘5+4’
print(“ ”) bir boşluk karakteri yazdırır. Boşluk karakteri de bir
string’dir.
print(999, “9”) 999 9
print(999+ “9”) hata
Python Ders Notları - 4
float(5) 5.0
float(-5) -5.0
float(“5”) 5.0
float(0) 0.0
float(3+4) 7.0
float(“3+4”) hata
float(3.5+4) 7.5
Python Ders Notları - 5
OPERATÖRLER (İŞLEÇLER): Not: - eksi ve / bölü işleçlerini karakter dizileri ile birlikte
kullanamayız.
Aritmetik Operatörler:
Toplama : + Üs Alma:
Çıkarma : - Birinci Yol:
Çarpma : * 5**2 25
Bölme : / 5**-1 0.2
Tam Bölme: // 5**0 1
Üs Alma : ** İkinci Yol:
Mod : % pow(5,2) 25
pow(5,-1) 0.2
pow(5,0) 1
+ operatörü: Toplama işlemi ve string birleştirme için kullanılır. pow(11,3,4) 3 11’in 3. kuvveti olan 1331’in 4‘e
>>>10+20 30 bölümünden kalan sayı
>>>5.5+3.8 9.3
>>>9+4.0 13.0 2
5*10 gibi bir ifade şöyle yazılabilir:
5e2 5000 simge olarak “e”
Sayıların çift tırnak içine alınmadığına dikkat edin. Eğer çift yerine “E” de kullanılabilir.
tırnak içine alınsaydı veri türü bir integer değil string olacaktı.
Bu durumda matematiksel işlem yapılamayacaktı. Örnekler; Mod İşlemi: Bölme sonucunda kalan sayıyı verir.
25%7 4
>>>"10"+”20” ‘1020’
22%11 0
>>>"10" + 20 hata
>>>"5" + str(10) ‘510’ 6%25 6
>>>5 + int("10") 15 0%25 0
25%0 hata
- operatörü:
>>>50-30 20 Karekök Alma: Bir sayının 0.5. kuvveti o sayının kareköküdür.
>>>-7- - 9 2 >>>144**0.5 12
>>>1.5-0.5 1.0
>>>4.0-1 3.0 Yuvarlama:
round(28.71) 29
* operatörü: round(28.47) 28
>>>10*5 50 round(29.5) 30
>>>-6*-8 -48 round(30.5) 30 en yakın çift sayıya
>>>1.5*1.5 2.25 yuvarlıyor
x = 8793.748
Ör: round(x) 8794
>>>x=4 round(x, 1) 8793.7
>>>y=3 round(x, 2) 8793.75
>>>3*x+2*y-5 round(x, 0) 8794.0
13 round(x, -1) 8790.0
round(x, -2) 8800.0
Ör:
_ (alt çizgi işareti): Son verinin değerini hafızada tutar.
>>>"w" * 3 www
>>>"aheste " * 2 aheste aheste Ör:
>>>"-" * 10 ---------- >>>10+5
>>> "uzaksın bana" + " " * 5 + "çook uzak…") 15
uzaksın bana çoook uzak… >>>_
15 son işlem olan 15 değerini hafızada tutup bize
gösterdi.
/ operatörü: Bölme işlemi gerçekleştirir. >>>_+5 altçizgi ile 5’i topladık.
>>>21/3 7.0 20 artık son öğe 15 değil 20 oldu.
>>>int(21/3) 7 >>>_/10
>>>21/0 hata 2.0
Ör:
// operatörü: Bölme işleminde kalan sayı göz ardı >>> "www"
edilir.(Taban Bölme) 'www'
>>>25//6 4 >>> _ + ".google.com"
>>>6//25 0 'www.google.com'
>>>4.5//1.2 3.0
>>>2.1//1 2.0
Python Ders Notları - 6
Aritmetik Alıştırmalar: >>>print(a)
Trabzon
>>>5+4*3/3-9 >>>len(a)
7
0.0
>>>type(a)
>>>15-2**4/2+(-2-2) <class 'str'>
3.0
>>>0-9**0 Ör:
-1 >>>a= 5
>>>100**0.5/10*2 >>>b=-4
2.0 >>>c=30
>>>print(a*b+c)
>>>10%6-1
10
3
>>>39//12+12/2 Not: Burada atama (=) sembolünün anlamı
9.0 matematikte kullanıldığı şeklinden farklıdır.
>>> “10+20+30” Matematikte bu sembol eşitlik sağlar fakat Python ’da
10+20+30 simetri olmadığı için 5 = x gibi bir ifade hatalı
>>> “55”+”55” olacaktır.
>>>5=x
5555
>>>print(x) hata
>>> “110”,”110”
111 110 Not: Python operatör kullanırken kısaltmalar
>>>5+5+”5” yapabilir. Örneğin x= x + 5 deyimi x + = 5 olarak
hata kısaltılabilir. Bu ifade “ x’i 5 arttır.” anlamına gelir.
>>>str(12+8)+"0" Ör:
>>> x=3
200
>>> x=x+2
>>>int("56")+int("12") >>> print(x)
68 5
>>>int("10"),int("10") >>> x+=7 x=x+7 ile aynı anlama
10 10 gelir.
>>>str(1),int("666") >>> print(x)
12
1 666
>>> x -= 4
>>> “k”*3+str(5) >>> print(x)
kkk5 8
>>>2*"6",66) >>> x //= 3
66 66 >>> print(x)
>>>5+4*10/(4+5-9) 2
>>> x *= 8
hata
>>> print(x)
16
>>> x %= 6
Sabitler, Değişkenler ve Atama: Değişmeyen
>>> print(x)
değerlere sabit, onlara atanan ifadelere ise değişken 4
denir. Böylece daha sade, işlevsel ve zaman >>> x**= 3
kazandırıcı işlemler yapılır. Örnekler; >>> print(x)
64
>>>a = "Trabzon" a burada değişkendir.
“Trabzon” ise sabit değerdir. = ise atama işlemi
yapar.
Python Ders Notları - 7
Değişken Kuralları: Değişken İptali: Değişken iptali için komut penceresini kapatıp
1-Değişken adları sayı ile başlamaz. açabiliriz ya da del komutunu kullanabiliriz.
3_kilo_elma = “10 tl” >>>a=2
kilo_elma_3 = "10 tl" >>>print(a)
2-Değişken adları özel sembol içermez ( _ altçizgi hariç ). 2
gelir?= “500 TL” >>>del a a değişkeni artık yok yani iptal edildi.
kullanici_adi= “admin” >>>print(a) a değişkenini iptal ettiğimiz için kod hata
3- Değişken adlarında boşluk olmaz. verir.
kullanici adi = “admin” Hata Çeşitleri:
kulllanici_adi = “admin” 1-Söz Dizimi Hataları (SyntaxError) :
Not: Değişken adlarında Türkçe karakter kullanabiliriz. Ancak Ör1: Hatalı atama işlemi;
uyum sorunu ihtimaline karşı bundan kaçınınız. >>>y = 5
4- Değişken adlarında bazı özel anlam ifade eden kelimeler >>>x + 2 = y
kullanılmaz. >>>print(x)
True=5 doğrusu:
true=5 Küçük büyük harf duyarlılığından hata y=5
oluşmaz. x=y-2
and=8 print(x)
And=8 Küçük büyük harf duyarlılığından hata 3
oluşmaz. Ör2: Eşleşmeyen parantez;
Not: Python’da özel anlam ifade eden kelimeleri görmek için print(5+(3*4) hata
aşağıdaki kodları yazın. print(5+(3*4)) doğrusu
input() Fonksiyonu
Python’da kullanıcıdan herhangi bir veri alıp, yazdığımız programları tek taraflı olmaktan kurtarmak
için input() adlı bir fonksiyondan faydalanıyoruz.
Kullanımı:
format()
‘karakter dizisi biçimlendirme’ işlemleri için kullanılır. Programlama yaparken bazı yerlerde bir
stringin içinde daha önceden tanımlı string,float, int vs. değerleri yerleştirmek isteyebiliriz. Böyle
durumlar için Pythonda format() fonksiyonu bulunmaktadır.
Kullanımı:
>>>a = 3
>>>b = 4
>>>print("{} + {} 'nin toplamı {} 'dir".format(a,b,a+b))
‘3 + 4 'nin toplamı 7'dir’
Yorum satırları yazdığımız bir şeyi kod olarak algılattırmaz ve ekrana yazdırmaz. Böylece kendimize
göre küçük notlar yazabiliriz. Mesela bir kod yazdırdık bu kodun ne işe yaradığını veya ne için
yazdığımızı yorum satırında yazarız ve ekrana yazdırmaz. Böylece geri dönüp kodlara baktığımızda
neyi ne için yazdığımızı kolayca hatırlamamıza yardımcı olur
# İşareti = Bu işaret sadece tek satırlık yorum satırı oluşturmak için kullanılır.
Kullanımı:
Python yukarıdaki satırda # işaretinden sonraki yazıyı yorum satırı olarak algılar ve ekrana yazdırmaz.
İlk Program Örnekleri
2 sayıyı toplama
print(" ***** İlk Program ***** ")
print("-"*25)
sayi1=int(input("1.Sayıyı giriniz:"))
sayi2=int(input("2.Sayıyı giriniz:"))
toplam=sayi1+sayi2
print("-"*25)
print("İşlem Sonucu:",sayi1,"+",sayi2,"=",toplam)
Fahrenheit-Derece Çevirme
f=float(input("Sıcaklığı F cinsinden giriniz: "))
c=(f-32)/1.8
print(f, "F = ", c,"C'dir")
bool(5) True Kimlik Operatörü: Python ‘da her şeyin bir kimlik
bool(5.8) True numarası vardır. id() fonksiyonu ile bu kimlik
bool(-5) True numarasını bulabiliriz.
bool(“Steve Jobs”) True
bool(“0”) True >>>a = 100
bool(“ “) True >>>id(a)
bool() False 137990748 a değişkeninin temsil
bool(““) False ettiği 100 sayısının kimlik numarası
bool(0) False
bool(0.0) False
if Bloğu
if bloğu programımızın içinde herhangi bir yerde belli bir koşulu kontrol edecek isek kullanılan bloklardır. Yazımı şu şekildedir;
if (koşul):
# if bloğu - Koşul sağlanınca (True) çalışır. Bu hizadaki her işlem bu if bloğuna ait.. if bloğu girintiyle oluşturulur.
Yapılacak İşlemler
if bloğu eğer koşul sağlanırsa anlamı taşır. Eğer if kalıbındaki koşul sağlanırsa (True) if bloğu çalıştırılır,
koşul sağlanmazsa (False) if bloğu çalıştırılmaz. Hemen bir örnek ile koşullu durumları anlamaya çalışalım.
else Bloğu
else blokları if koşulu sağlanmadığı zaman (False) çalışan bloklardır. Kullanımı şu şekildedir;
else:
# else bloğu - Yukarısındaki herhangi bir if bloğu (veya ilerde göreceğimiz elif bloğu) çalışmadığı zaman çalışır.
# else bloğu - Girintiyle oluşturulur.
Yapılacak İşlemler
Dikkat ederseniz burada else koşulunun yanına herhangi bir koşul yazmadık. Çünkü zaten else bloğunun çalışması ondan önce
gelen diğer koşulların sağlanmamasına bağlı oluyor. İsterseniz, 18 yaş kontrolü örneğini else bloğunu dahil ederek tekrar yazalım.
if-elif-else Blokları
Programlamada bir durum bir çok koşula bağlı olabilir. Örneğin bir hesap makinesi programı yazdığımızda kullanıcının girdiği
işlemlere göre koşullarımızı belirleyebiliriz. Bu tür durumlar için if-elif-else kalıplarını kullanırız. Programlarımızda, kaç tane
koşulumuz var ise o kadar elif bloğu oluşturabiliriz. Ayrıca else in yazılması zorunlu değildir. if - elif - else kalıplarında, hangi koşul
sağlanırsa program o bloğu çalıştırır ve if-elif blokları sona erer. Şimdi isterseniz kullanıcıya işlem seçtirdiğimiz bir programla , bu
kalıbı öğrenmeye çalışalım.
Koşullu Durum Örnekleri
1- İki sayıyı karşılaştırma 6- Takdir&Teşekkür Durumu
bolum=int(input("Bölünecek sayıyı giriniz: ")) 8- Girilen Sayının Tek veya Çift Olduğunu Bulma
bolen=int(input("Bölen sayıyı giriniz "))
if bolen!=0: sayi=int(input("Sayı giriniz: "))
print("Sonuç: ", bolum/bolen) if sayi%2==0:
else: print("Girdiğiniz sayı çifttir")
print("Sıfıra bölme işlemi yapılamaz!") else:
print("Girdiğiniz sayı tektir")
Çıktı: 4950
Ör: Klavyeden girilen metnin for döngüsü ile alt alta ekrana
Ör: 10 ve 10’un üstleri yazdıran program:
yazımı.
for i in range(7):
print("{}".format(10**i))
Çıktı:
Ör: Girilen değere kadar toplama işlemi
1
10
100
1000
10000
100000
1000000
Ör: Çarpım tablosu örneği
Ör: Bir string değişkeni oluşturarak, string’teki her bir karakteri
ayrı ayrı işleme ve yazdırma:
sayılar = "12345"
for sayı in sayılar:
print(int(sayı) * 2, end=” ”) #her
karakteri tamsayıya çevirip 2 ile çarp
Çıktı: 2 4 6 8 10
tr_harfler = "şçöğüİıÖÜ"
parola = input("Parolanız: ")
ilk_metin = "Bilgisayar"
ikinci_metin = "Bilişim"