Python Nedir?
1) Özgür ve ücretsiz bir programlama dilidir.
2) Guido Van Rossum adlı HollandalI bir programcı tarafından 9O'lı yılların başında
geliştirilmeye başlanmıştır. Guido Van Rossum 2005 ile 2012 yılları arasında Google'da
çalışmıştır.
3) Adı "The Monty Python" adlı bir İngiliz komedi grubundan esinlenerek konmuştur.
4) Python kelimesi Türkçe "paytın" şeklinde telaffuz edilir.
Neden Python?
1) Büyük kuruluşlar (Google, YouTube ve Yahoo! gibi) her zaman Python programcılarına
ihtiyaç duyuyor.
2) Python ile masaüstü, oyun, mobil, web ve ağ alanlarında programlar yazabilirsiniz.
Örneğin bir youtube video indirme programı veya fizyde şarkı arayıp dinleme programı
yapabilirsiniz.
3) Python kodları sade, basit ve hızlıdır. Derlenmeye ihtiyaç duymaz.
4) Python farklı işletim sistemleri üzerinde çalışabilir. Linux, Windows, Mac OS X, MS-DOS,
İOS ve Android vbs...
5)
Python Sürümleri:
1) Piyasada iki çeşit Python sürümü vardır. Python2 ve Python3
2) Python3, Python2'ye göre daha güçlüdür ve hatalardan arınmıştır.
3) Python2 ile yazılmış bir program Python3'te çalışmaz. Aynı şekilde Python3 ile yazdığınız
bir program Python2'de çalışmaz.
Python'u Kurmak:
1) Python'ı kurmak için [Link] adresine tıklayınız.
2) Açılan sayfada Downloads linkini tıkladığınızda 'Download the latest versiyon for
Windows' başlığı altında Python'un son sürümü içeren bir buton göreceksiniz. Bu butona
tıklayarak Python'ın son sürümünü bilgisayarınıza indirebilirsiniz.
3) Python'ı farklı bir işletim sistemine yüklüyorsanız ya da eski bir Python sürümü kurmak
istiyorsanız ilgili sayfada gerekli linkler ve bilgilendirmeler mevcuttur.
4) Bu arada Python'ın hangi dizine kurulduğunu bilmemiz önemlidir. Zira karşılaşacağımız
bazı sorunlar bu dizine gitmemizi gerektirebilir.
Python Dosyaları Nerede?
Windows kullanıcısı iseniz ve eğer siz farklı bir yere kaydetmemişseniz Python dosyaları
genellikle C:\Users\Kullanicilar\AppData\Local\Programs\Python dizini içindedir. Klasörler
gözükmüyorsa gizli dosyaları göster seçeneğini aktifleştiriniz.
Sabitler, Değişkenler ve Atama: Değişmeyen değerlere sabit, onlara atanan
ifadelere ise değişken denir. Böylece daha sade, işlevsel ve zaman kazandırıcı
işlemler yapılır.
#a değişken, "Trabzon” ise sabit değerdir. = ise atama işlemi yapar.
a = "Trabzon"
print(a)
Çıktı: Trabzon
Ör:
a= 5
b=-4
c=30
print(a*b+c)
Çıktı:10
Not: Burada = sembolünün anlamı matematikte kullanıldığı şeklinden farklıdır. Matematikte bu
sembol eşitlik sağlar fakat Python 'da simetri olmadığı için 5 = x gibi bir ifade hatalı olacaktır.
5=x
print(x)
Çıktı:hata
Not: Python operatör kullanırken kısaltmalar yapabilir. Örneğin x= x + 5 deyimi x + = 5 olarak
kısaltılabilir. Bu ifade " x'i 5 arttır." anlamına gelir.
x=5
>>> x+=7 #x=x+7 ile aynı anlama gelir.
print(x)
12
x -= 4 #x=x-4 ile aynı anlama gelir.
print(x)
8
x //= 3 #x=x//3 ile aynı anlama gelir.
print(x)
2
>>> x *= 8 #x=x*8 ile aynı anlama gelir.
print(x)
16
x %= 6 #x=x%6 ile aynı anlama gelir.
print(x)
4
x**= 3 #x=x**3 ile aynı anlama gelir.
print(x)
64
DEĞİŞKEN KURALLARI:
1-Değişken adları sayı ile başlamaz.
3_kilo_elma = "10 tl" X
kilo_elma_3 = "10 tl" ^
2-Değişken adları özel sembol içermez (_ altçizgi hariç )
gelir?= "500 TL" X
kullanici_adi= "admin" v
3- Değişken adlarında boşluk olmaz.
kullanici adi = "admin" X
kulllanici_adi = "admin" ^
Not: Değişken adlarında Türkçe karakter kullanabiliriz. Ancak uyum sorunu ihtimaline karşı
bundan kaçınınız.
4- Değişken adlarında bazı özel anlam ifade eden kelimeler kullanılmaz.
True=5 X
true=5 ✓ ->Küçük büyük harf duyarlılığından hata oluşmaz.
and=8 X
And=8 ^ ^Küçük büyük harf duyarlılığından hata oluşmaz.
Not: Python'da özel anlam ifade eden kelimeleri görmek için aşağıdaki kodları yazın.
import keyword
[Link]
Çıktı:
['False1, 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def, 'del', 'elif, 'else',
'except', 'finally', 'for', 'from', 'global', 'if, 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or',
'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Ör:
import keyword
a=[Link]
len(a) #Python'da özel anlam ifade eden kaç adet kelime var?
Çıktı: 33
VERİ TÜRLERİ:
string: Tırnak içindeki her türlü karakter dizileridir.
»>”Merhaba Dünya"
'Merhaba Dünya'
Not: string'lerde çift tırnak kullanmak şart değildir. Tek tırnak veya üç tırnak da kullanabiliriz.
»>'Merhaba Dünya' ->tek tırnak
'Merhaba Dünya'
»>"'Merhaba Dünya'" ->üç tek tırnak
'Merhaba Dünya'
»>"""Merhaba Dünya""" ->üç çift tırnak
'Merhaba Dünya'
Not: Python'da üç tırnak kullanmamızın sebebi alt satıra geçebilmektir.
'"Bilgisayar
Bilimi
Dersi'"
Çıktı:
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 illeri
Bu 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.
"İstanbul'un illeri" İstanbul'un illeri
"""İstanbul'un illeri""" İstanbul'un illeri
integer: Tam sayılardır. Pozitif, negatif ya da sıfır değeri alabilir. Kesirli değer
içermez. Ör: 10, 0, -10
float: Reel sayılardır. 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. Bool iki
değer alabilir. Bunlar True ve False 'tur.
str(): Verileri string'e (karakter dizisi) çevirir.
str(4) Çıktı: '4'
str(4.0) Çıktı: '4.0'
str(10+2) Çıktı: '12'
str(10/2) Çıktı: '5'
int(): Verileri integer'a (tamsayı) çevirir.
int(28.9) Çıktı: 28
int(5+4) Çıktı: 9
int(5/3) Çıktı: 1
int(5*0.4) Çıktı: 2
int(0.8+0.9) Çıktı: 1
int("5") Çıktı: 5
Not: Tırnak içindeki verilerin tamsayıya çevrilmesi için tırnak içindeki ifadenin tamsayı olması
gerekmektedir. Aksi halde çevirme işlemi yapılamaz.
int("28.9") #tırnak içerisindeki ifade tamsayı değildir. Hata verir.
int("5+4") #hata, tırnak içerisindeki ifade tamsayı değildir. Hata verir.
int("bilgisayar") #hata, tırnak içerisindeki ifade tamsayı değildir. Hata verir.
float(): Verileri float'a (reel sayı) çevirir.
float(5) Çıktı: 5.0
float("5") Çıktı: 5.0
float("5.7") Çıktı: 5.7
float(-5) Çıktı: -5.0
float(O) Çıktı: 0.0
float(3+4) Çıktı: 7.0
float(3.5+4) Çıktı: 7.5
Not: Tırnak içindeki verilerin float'a çevrilmesi için tırnak içindeki ifadenin tamsayı veya float
olması gerekmektedir. Aksi halde çevirme işlemi yapılamaz.
float("3+4") #tırnak içerisindeki ifade tamsayı veya float değildir. Hata verir.
print() fonksiyonu: Ekrana yazdırma fonksiyonudur.
Kural: Stringleri tırnak içerisine almamız gerekir.
print("Merhaba Dünya") Çıktı: 'Merhaba Dünya*
Kural: Stringleri tek tırnak içerisine de alabiliriz.
print('Merhaba Dünya*) Çıktı: 'Merhaba Dünya*
Kural: Stringleri üç tek tırnak içerisine de alabiliriz.
print('**Merhaba Dünya***) Çıktı: 'Merhaba Dünya*
Kural: Stringleri üç çift tırnak içerisine de alabiliriz.
print("""Merhaba Dünya”"”) Çıktı: 'Merhaba Dünya*
Kural: Stringleri tırnak içerisine almazsak kod hata verir.
print(Merhaba Dünya) Çıktı: Hata
Kural: Stringlerde tırnaklar eksik olursa kod hata verir.
print("Merhaba Dünya) Çıktı: Hata
Kural: Sayıları tırnak içerisine almamıza gerek yoktur.
print(5) Çıktı: 5
Kural: Sayıları tırnak içerisine alırsak o artık bir string'tir. Dolayısıyla matematiksel olarak bir
anlam ifade etmez.
print("5”) Çıktı: '5*
Kural: Parantezin içinde matematiksel işlem varsa sonuç yazılır.
print(6+3) Çıktı: 9
Kural: Matematiksel işlem tırnak içinde yazıldıysa veri artık string olacağı için işlem yapılmaz
ve aynen yazılır.
print("5+4”) Çıktı: "5+4"
Kural: Boş bir string ekrana yazdırılabilir.
print("”) Çıktı:
Kural: Virgüller ifadelerin arasına birer boşluk bırakır.
print("Bilgisayar","Bilimi”,"Kodlama”)
Çıktı: Bilgisayar Bilimi Kodlama
Kural: + işareti ifadeleri birleştirir.
print("bilgi”+”sayar”) Çıktı: bilgisayar
Ör: print( "bilgi"+" "+"sayar")
Çıktı: bilgi sayar
Açıklaması: Ortadaki çift tırnağın içinde bir boşluk karakteri var. Dolayısıyla araya bir boşluk
karakteri ekledik.
Kural: + işareti koymadan da ifadeler birleştirilebilir.
print( "bilgi” "sayar”) Çıktı: bilgisayar
Ör: print(999 + "9”) #integer ve string toplanmaz
Çıktı: Hata
Ien() fonksiyonu: Stringlerin uzunluğunu ölçer.
len("Türkiye”) Çıktı: 7
len("Bilgisayar Bilimi") Çıktı: 17
"Bilgisayar Bilimi" strmginin uzunluğu 17 karakterdir. Burada boşluk karakterinin de
sayıldığına dikkat edelim.
len("Haydi, Kodla!") Çıktı: 13
Noktalama işaretleri de sayılır.
len("Bilgisayar Bilimi") + len("Dersi") Çıktı: 22
"Bilgisayar Bilimi" strmgi ile "Dersi" stringinin uzunluğu sayısal olarak toplandı.
len("Bilgisayar Bilimi") - len("Dersi") Çıktı: 12
Örnekler:
len("len") Çıktı: 3
len("0”) Çıktı: 1
len("-4”) Çıktı: 2
len("4.5") Çıktı: 3
len("-1.5”) Çıktı: 4
len("12+42”) Çıktı: 5
len("100-20”) Çıktı: 6
len(str(10)) Çıktı: 2
len(int("10”) Çıktı: hata (string değil)
len(563) Çıktı: hata (string değil)
type() fonksiyonu: Verilerin türünü sorgular.
type("Merhaba") Çıktı: <class 'str'>
type(“") Çıktı: <class 'str'>
type("4") Çıktı: <class "str">
type(4) Çıktı: <class "int">
type(4.2) Çıktı: <class 'float'>
type(4.0) Çıktı: <class 'float’>
type(Merhaba) Çıktı: tırnak işareti olmadığı için hata verir.
\n parametresi: Bu parametreye newline adı verilir. print() fonksiyonu içerisinde kullanıldığında
ilgili yerden bir alt satıra geçiş yapar.
print("bilgisayar bilimi")
Çıktı: bilgisayar bilimi
\n karakterini araya koyduğumuzda ilgili yerden bir alt satıra geçiş yapacaktır. Yukarıdaki örneği
bir de şu şekilde yazalım.
Ör:
print("bilgisayar\nbilimi")
Çıktı:
bilgisayar
bilimi
#GörüIdüğü üzere \n parametresini bilgisayar ifadesinin hemen sonuna koyduk ve böylece tam
da oradan satır başına geçiş yapmış olduk.
\t parametresi: print() fonksiyonu içerisinde kullanıldığında ilgili yerden birtab kadar boşluk
bırakır.
Ör:
print("Ocak\tŞubat\tMart")
Çıktı: Ocak Şubat Mart
* parametresi: stringi parçalara böler.
Ör:
print(*"Linux")
Çıktı: L i n u x
string indeksleme ve parçalama: stringlerde her bir karakterin kendine has bir
konumu vardır. Bu konumlara indeks adı verilir. Python'da ve çoğu
programlama dilinde indeksleme "0" dan başlar. Aşağıdaki örnekleri
inceleyelim.
>>> a="Kodlama"
>>> a[0]
’ K'
> >> a[2]
'd'
> >> a[-l] #sondan [Link]
'a'
»> a[-3]
'a'
»> a[2:6]
'diam'
> >> a[:6] #baştan [Link] kadar tüm karakterler
'Kodlam'
> >> a[2:] #[Link] sona kadar tüm karakterler
'diama'
> >> a[:] #tüm karakterler
'Kodlama'
»> a[2:-2]
'dia'
»> a[:-2]
'Kodla'
> >> a="Kodlama Eğitimi"
> >> a[2:13:2] #[Link] [Link] kadar 2 sıra atlayarak
'daaEii'
> >> a[::2] #Baştan sona kadar 2 sıra atlayarak
'KdaaEiii'
> >> a[::-l] #Sondan başa kadar 1 sıra atlayarak
'imitiğE amaldoK'
Ör: İsminizi tersten yazdırın.
isim = input ("İsminiz :")
print("İsminizin tersten yazılışı :", isim[::-!])
OPERATÖRLER (İŞLEÇLER):
Aritmetik Operatörler:
Toplama : +
Çıkarma : -
Çarpma : *
Bölme : /
Üs Alma : **
+ operatörü: Toplama ve birleştirme için kullanılır.
>»10+20 30
>»5.5+3.8 9.3
»>9+4.0 13.0
Not: Sayıların çift tırnak içine alınmadığına dikkat edin. Eğer çift tırnak içine alınsaydı veri
türü bir integer değil string olacaktı. Bu durumda matematiksel işlem değil birleştirme
işlemi yapılacaktır.
Örnekler:
>»"10"+"20" '1020'
»>"10" + 20 ->hata (ikisinin de aynı tür veri olması gerekir)
»>"5" + str(10) '510'
»>5 + int("10") 15
- operatörü:
»>50-30 20
>»-7- - 9 2
>»1.5-0.5 1.0
>»4.0-1 3.0
* operatörü: Çarpma ve stringleri belli sayıda tekrar etmek için kullanılır.
>»10*5 50
>»-6*-8 -48
>»1.5*1.5 2.25
Ör:
>»x=4
>»y=3
>»3*x+2*y-5
13
Ör:
>»"w" * 3 ->"w" stringinin 3 defa tekrar ederek yazdırdı.
www
Ör:
>»"aheste " * 2 -^"aheste " tırnak kapanmadan boşluk bırakıldığına dikkat edin,
aheste aheste
Ör:
»>"-" * 10 ->"-" işaretini 10 kere çoğalttık.
/ operatörü: Bölme işlemi gerçekleştirir. Sonuç daima float veri türüdür.
»>21/3 7.0
>»int(21/3) 7 -> burada veri integer'a dönüştürüldü.
»>21/0 ■^hata
// operatörü: Bölme işleminde kalan sayı göz ardı edilir.(Taban Bölme)
>»25//6 4
>»6//25 0
>»4.5//1.2 3.0
>»2.1//1 2.0
Not: - eksi ve / bölü işleçlerini karakter dizileri ile birlikte kullanamayız.
Üs Alma Birinci Yol:
5**2 25
5**-l 0.2
5**0 1
Üs Alma İkinci Yol:
pow(5,2) 25
pow(5,-l) 0.2
pow(5,0) 1
pow(ll,3,4) 3 ->H'in 3. kuvveti olan 1331'in 4'e bölümünden kalan sayı
ARİTMETİK ALIŞTIRMALAR:
5+4*3/3-9
Çıktı: 0.0
15-2**4/2+(-2-2)
Çıktı: 3.0
0-9**0
Çıktı: -1
100**0.5/10*2
Çıktı: 2.0
10%6-1
Çıktı: 3
39//12+12/2
Çıktı: 9.0
"10+20+30”
Çıktı: 10+20+30
"55”+”55”
Çıktı: 5555
5+”5”
Çıktı: hata
str(12+8)+"0"
Çıktı: 200
int("56")+int("12")
Çıktı: 68
"k”*3+str(5)
Çıktı: kkk5
2*"6",66)
Çıktı: 66 66
5+4*10/(4+5-9)
hata
KARŞILAŞTIRMA OPERATÖRLERİ:
Eşittir
Eşit değildir ı=
> büyüktür
< küçüktür
>= büyük eşittir
<= küçük eşittir
Bool Kavramı: Bool herhangi bir ifadenin doğruluğunu veya yanlışlığını sorgular. Eğer bir
sorgulamanın sonucu doğru ise True, yanlış ise False çıktısı alıyoruz.
a=l
a==l True
a==2 False
a!=5 True
a!=l False
a>2 False
8>a True
a>=l True
a>=2 False
"Bilim"<"Kodlama" True ■^alfabetik sıraya göre hareket eder.
Not: Bool işleçleri sadece doğruluk-yanlışlık sorgulamaya yarayan araçlar değildir.
Bilgisayar biliminde her şeyin bir bool değeri vardır. 0 değeri ve boş veri tipleri False 'tur.
Bunlar dışında kalan her şey ise True 'dur.
bool(5) True
bool(5.8) True
bool(-5) True
bool("Steve Jobs") True
bool("0") True
bool(" ") True
bool() False
bool("") False
bool(O) False
bool(O.O) False
PYTHON ÖRNEK SORULAR ve CEVAPLARI
SORU 1) Python Nedir?
CEVAP 1) Özgür ve ücretsiz bir programlama dilidir.
SORU 2) Python’da “=” işaretinin anlamı nedir?
CEVAP 2) “=” sembolünün anlamı matematikte kullanıldığı şeklinden farklıdır. “=”
sembolü atama işlemi yapar.
SORU 3) Python’da bazı kısaltmalar yapılabilir. Örneğin x=x+5 ifadesi Python’da nasıl
kısaltılır?
CEVAP 3) x= x + 5 deyimi x + = 5 olarak kısaltılabilir. Bu ifade “ x’i 5 arttır.” anlamına
gelir.
SORU 4) Değişkenlere ad verirken uymamız gereken kurallar nelerdir?
CEVAP 4)
a-Değişken adları sayı ile başlamaz.
b-Değişken adları özel sembol içermez ( _ altçizgi hariç )
c- Değişken adlarında boşluk olmaz.
d- Değişken adlarında bazı özel anlam ifade eden kelimeler kullanılmaz.
SORU 5) : Ekrana yazdırma fonksiyonu hangisidir?
CEVAP 5) print() fonksiyonu
SORU 6) : Stringlerin uzunluğunu ölçen fonksiyon hangisidir?
CEVAP 6) len() fonksiyonu
SORU 7) Verilerin türünü sorgulayan fonksiyon hangisidir?
CEVAP 7) type() fonksiyonu
SORU 8) newline adı da verilen ve print() fonksiyonu içerisinde kullanıldığında ilgili
yerden bir alt satıra geçiş yapan parametre hangisidir?
CEVAP 8) \n parametresi
SORU 9) print() fonksiyonu içerisinde kullanıldığında ilgili yerden bir tab kadar boşluk
bırakan parametre hangisidir?
CEVAP 9) \t parametresi
SORU 10) Aşağıdaki kodların çalıştırılması sonucunda ekrana hangi karakteri
yazdırır?
a="Kodlama"
print(a[2])
CEVAP 10) Ekrana “d” yazdırır.
SORU 11) Aşağıdaki kodların çalıştırılması sonucunda ekrana hangi karakterleri
yazdırır?
a="Kodlama Eğitimi"
print(a[2:13:2])
CEVAP 11) Ekrana “daaEii” karakterlerini yazdırır.
SORU 12) Aşağıdaki kodların çalıştırılması sonucunda ekrana ne yazdırır?
a="Kodlama Eğitimi
print(a[::-1])
CEVAP 12) Ekrana “imitiğE amaldoK” yazdırır.
SORU 13) Python’da // operatörünün görevi nedir?
CEVAP 13) Bölme işleminde kalan sayı göz ardı edilir.(Taban Bölme)
SORU 14) pow(5,2) işleminin sonucu nedir?
CEVAP 14) 25
SORU 15) print( “bilgi"+" "+"sayar”) işleminin sonucunda ekrana ne yazdırır?
CEVAP 15) bilgi sayar