Python Kodlar
Python Kodlar
• Print
• İnput
• Listeler
• Tuple
• Sözlük
• Setler
gelisimedu igugelisim
[Link]
HAFTALIKÖĞRENİMKAZANIMLARI
gelisimedu igugelisim
[Link]
DERSİÇERİĞİBAŞLIĞI
gelisimedu igugelisim
[Link]
Python’a Giriş
Kolay okunabilir, kolay yazılabilir,
Açık kaynaklıdır, ücretsizdir.
Üretkenliği ve verimi artırır.
Az satırla çok iş yapmayı amaçlar, bu nedenle Java, C++ gibi dillere göre daha az kod satırı yazarsınız.
Üst seviye bir dildir, öğrenmesi kolaydır.
Yorumlayıcı(Interpreter) ile çalışır. (Python kurulmayan bilgisayarda py uzantılı dosyalar çalıştırılamaz,
yalnız başına çalışabilir programlara(EXE gibi) ancak özel araçlarla çevrilebilir. Derlenen(compile)
programlama dillerine göre yavaş çalışır.
Dinamik tip dönüşümü vardır.
Nesne Tabanlıdır.
Değişken tip tanımlama zorunluluğu yoktur.
Windows, Linux, OSX işletim sistemlerinde kolaylıkla çalıştırılabilir.
Zengin kütüphaneleri mevcuttur, makine öğrenmesi, istatistik, görüntü tanıma, doğal dil işleme gibi
gelişmiş kütüphane desteği vardır.
Birçok IDE (Integrated Development Environment – Bütünleşik Geliştirme Ortamı) desteği vardır. Jetbrains
firmasının PyCharm IDE’si çok kullanılmaktadır. Python kodu yazabileceğiniz ortamlara örnek olarak
Jupyter, Spider, Anaconda ortamları sayılabilir.
Python Dezavantajları
• Python yorumlayıcı tabanlı bir dil olduğu için kodları satır satır işletir, bir hata ile
karşılaşması durumunda ileri doğru çalıştırmayı bırakır ve hatanın olduğu kısma geri
döner. C/C++, C# gibi derlenen dillere göre daha yavaş çalışır.
• Hafıza kullanımı verimli değildir.
• Python yavaş çalıştığından ve donanımı etkin kullanamadığından İşletim Sistemi
yazmak mümkün değildir. İşletim sistemleri genelde C/C++ ile yazılır, çünkü
donanım kaynaklarına erişim alt seviye ve hızlı bir dille yapılmalıdır. Windows,
Linux, Unix gibi işletim sistemleri C/C++ ile yazılmıştır.
• Mobil Hesaplama teknolojisinde kullanımı zayıftır.
• Veritabanı erişimi iyi değildir. (SQLLite Veritabanı ile kolay bağlantı kurar ama diğer
veritabanlarında verimli değildir.)
• Çalışma zamanı hataları (Runtime Error) görülebilir.
Python Özellikleri
• Makine dili 1 ve 0’lardan oluşur. En alt seviyede bütün kodlar makine diline çevrilir.
• 10010101001111
01010101010100
• Assembly dili, makine dilinin bir üst seviyesidir.
• str, add, mov
• Orta Seviyeli diller, makine dilini bir üstünde yer alır. C/C++ örnek verilebilir.
• Yüksek Seviyeli diller, kullanıcı dostudur, programlanması kolaydır. C#, Java, Python
dilleri örnek verilebilir.
• Yukarı doğru çıkıldıkça kod yazmak kolaylaşır ama yazılımlar yavaşlar.
Python ile yapılabilecekler
• Yapay Zeka ve Makine Öğrenmesi
• Görüntü İşleme
• Oyun Geliştirme
• İstatistiksel Hesaplar
• Nesnelerin İnterneti
• Güvenlik
• Web Tabanlı Programlama (Flask, Django gibi web tabanlı frameworkler)
• Masaüstü yazılımlar
Python indirme
Python programa dili yazılım geliştirmek için bilgisayarınıza aşağıdaki linkten indirip
kurabilirsiniz.
[Link]
Python ile Operatörler
Değişkenler birden fazla kelimeden oluşuyorsa arasına ancak alt çizgi(_) işareti konabilir, başka sembol
kullanılamaz. Değişkenleri küçük harflerle tanımlamanız tavsiye edilir, büyük küçük harflerden oluşan
değişkenleri yazmak zaman alacaktır.
Merhaba_dunya=‘Merhaba Dünya’
adiSoyadi, notOrtalaması gibi ilk kelimenin ilk harfi küçük, diğer kelimelerin ilk harfi büyük şekilde bir
yazım, geliştiriciler tarafından çok sık kullanılmaktadır.
Python ile Değişken Tanımlama
Değişkenler program içinde verileri sakladığımız ifadelerdir. Değişkenleri bir bardak gibi
düşünebiliriz, bardağın içine ne koyarsanız onu alır. Örneğin bardağa ayran da
koyabilirsiniz, meyve suyu da.
Şimdi bir değişken tanımlayalım, aşağıda a değişkenine 3 değerini atadık.
sayi=3
Python dilinde değişkenin önceden tanımlanmasına gerek yoktur. Atanan ifadeye göre
hafızada yer ayrılır.
sayi=3.5
Yukarıda b sayısına küsuratlı (ondalıklı) bir değer atadık.
Aşağıda da matematiksel işlem yapılmayan yani string değer alan bir değişken
tanımlıyoruz. String ifadeleri çift tırnak veya tek tırnak içinde yazılabilir.
merhaba="Merhaba Dünya"
merhaba_dunya=‘Merhaba Dünya’
print(merhaba)
print(merhaba_dunya)
print(merhaba, merhaba_dunya)
veya
print(merhaba+’, ’+merhaba_dünya)
print(merhaba*4)
Değişkenler
Sayısal değişken tanımlarsak
String Değişkenler
#Üç sayının ortalamasını bulmak istersek
merhaba="Merhaba Dünya"
a=15
b=25
c=40
ortalama=(a+b+c)/3
print([Link]())
buyukharf=[Link]()
print(buyukharf)
print([Link]())
kucukharf=[Link]()
print([Link]())
print([Link]())
String Değişkenler
istanbul="Ah_Güzel_İstanbul seni yaşayamadık"
print([Link]("a","q"))
print(istanbul)
harfdegistirme=[Link]("a","q")
print(harfdegistirme)
String Değişkenler
print([Link]())
print([Link]("*"))
print([Link]("_"))
print(dir(istanbul))
String Değişkenler
istanbul="Ah_Güzel_İstanbul seni yaşayamadık"
print(istanbul[0])
print(istanbul[10])
print(istanbul[0:5])
print(istanbul[5:7])
print(istanbul[7:])
String Değişkenler
istanbul="Ah_Güzel_İstanbul seni yaşayamadık"
toplam= x + y
print(toplam)
x = int(input('Birincisayı: '))
y = int(input('İkinci sayı: '))
toplam= x + y
print(toplam)
Değişken Dönüşümleri
eveGeldiMi=True
eveGeldiMint=int(eveGeldiMi)
a="20"
b="50"
c=int(a)+int(b)
print(c)
print(type(a))
print(type(b))
print(type(c))
print(type(eveGeldiMi))
print((eveGeldiMi))
print(eveGeldiMint)
print(type(eveGeldiMint))
Değişken Dönüşümleri
pi = 3.14
yaricap = float(input("yarı çap: ")) Daire Alanı : πr²
Daire Çevresi : 2πr
alan = pi * (yaricap ** 2) r: 3.14
print(type(alan))
cevre = 2 * pi * yaricap
print(type(cevre))
print("Dairenin alanı : "+ str(alan) + " birim ve çevresi: "+ str(cevre)+" birim")
print("Dairenin alanı : "+ str(round(alan,2)) + " birim ve çevresi: "+ str(round(cevre,2))+" birim")
Değişken Dönüşümleri
en= float(input("Dikdörtgenin eni..:"))
boy= float(input("Dikdörtgenin boyu:"))
alan=en*boy
cevre=2*(en+boy)
print("Dikdörtgenin Çevresi:",cevre);
Liste Oluşturma
notlar=[30,50,70,90,80,40]
print(type(notlar))
print((notlar))
liste=["Aliş", "Bediş",30,50,70.5,92.5,1.45,2.35]
print((liste))
print(len(notlar))
print(len(liste))
liste_uzun=["Aliş", "Bediş",30,50,70.5,92.5,1.45,2.35,notlar]
print(liste_uzun)
print(len(liste_uzun))
Listeler
notlar=[30,50,70,90,80,40]
liste_uzun=["Aliş", "Bediş",30,50,70.5,92.5,1.45,2.35]
genisliste=[notlar,liste_uzun]
print(len(genisliste))
print(genisliste)
print(notlar[0])
print(notlar[1])
print(notlar[2])
print(genisliste[0][1])
print(notlar[0])
Liste Sorgulama
notlar=[30,50,70,90,80,40]
liste_uzun=["Aliş", "Bediş",30,50,70.5,92.5,1.45,2.35]
print(liste_uzun[0])
print(liste_uzun[0:4])
print(liste_uzun[:4])
print(liste_uzun[4:])
Liste Sorgulama
liste_uzun=["Aliş", "Bediş",[30,50,70.5,92.5,1.45,2.35]]
print(len(liste_uzun))
print((liste_uzun[0]))
print((liste_uzun[2]))
print((liste_uzun[2][3]))
Liste eleman ekle, değiştir, sil
print(sehirler)
print(sehirler)
Liste eleman ekle, değiştir, sil
[Link]("Ankara")
print(sehirler)
Liste eleman ekle, değiştir, sil
sehirler=["Ankara", "İstanbul","İzmir", "Bursa", "Manisa"]
print(sehirler)
[Link](1,"Mus")
print(sehirler)
[Link](2, "Diyarbakır")
print(sehirler)
len(sehirler)
print(len(sehirler))
[Link](len(sehirler), "zonguldak")
print(sehirler)
Liste eleman ekle, değiştir, sil
sehirler=["Ankara", "İstanbul","İzmir", "Bursa", "Manisa"]
print(sehirler)
print(sehirler)
Liste eleman ekle, değiştir, sil
liste=["Ahmet", "Yakup","Ali", "Zeynep", "Sadi", "Neslihan","Zeynep", "Sadi","Ali"]
print(liste)
#kaç tane Ali, Ahmet Zeynep var
print([Link]("Ali"))
print([Link]("ahmet"))
print([Link]("Zeynep"))
yedekliste=[Link]()
print(yedekliste)
[Link](["10",20,40,50])
print(liste)
[Link]("Ali")
print([Link]("Ali"))
Liste ters çevir, sırala
liste=['Veli', 'Hale', 'Ahmet', 'Jale', 'Lale', 12, 23, 'Mehmet', 'Simovic', 'Prekazi', 'Jardel', 'Nouma']
[Link]()
print(liste)
print([Link]("Veli"))
liste=["Veli", "Hale", "Ahmet", "Jale", "Lale", "Mehmet", "Simovic", "Prekazi", "Jardel", "Nouma"]
[Link]()
print(liste)
Listeler Genel Bakış
#listeler liste[] ifadesiyle oluşturulur. veya list() diye tarif edilir
notlar=[50,60,70,90]
liste=["a","b",19.4,70] #seklinde string, float ve int değerlerden oluşur
print(liste)
#liste içinde bir liste de tanımlaya biliriz
liste_genis=["a","b",notlar]
print(liste_genis) # liste ve notlar listesinden oluşan yeni liste
print(len(liste_genis)) #liste_genis boyutunu ekrana yazdıralım #dikkat edilirse 3 elemanlı bir liste gözükmekte
#istediğimiz elemana ulaşmak için
print(liste_genis[0]) # bizim 0 elemana ulaşmamızı sağlar peki 2 eleman(liste) nın birinci elemanına ulaşmak istersek
print(liste_genis[2][2]) #şeklinde yazılır
#print(liste_genis[3]) #dersek ne görürüz :IndexError listindex out of range döndürür yeni bir liste tanımlayalım adı
tum_liste olsun
tum_liste=[liste, liste_genis] # den oluşsun bu şekilde iki farklı listeyi tek listede birleştirebiliriz
print(tum_liste)
print(len(tum_liste)) #görldüğü gibi tum_liste iki elemandan oluşuyor
print(tum_liste[0][1]) # b yi gösterecektir
print(tum_liste[1][2][3]) # 90 yi gösterecektir
del(tum_liste) #tum_liste adlı listeyi sildik
Liste Birleştirme
liste=["Ali","Veli","Zır","Zekeriya","Ali","Veli"]
# bu listeye ["a","b",10] değerlerinden olusn bir listeyi eklemeye çalışalım
[Link](["a","b",10])
print (liste)
print(type(liste))
#['Ali', 'Veli', 'Zır', 'Zekeriya', 'Ali', 'Veli', 'a', 'b', 10] şeklinde yeni bir liste elde ederiz
print(len(liste))
notlar=[90,60,30,90]
liste=["a","b",19.4,70]
y_liste=[liste,notlar] # y_liste touple donustu bir sonrakı derte gorecegız
print(y_liste)
print(type(y_liste))
Liste Eleman Ekleme Değiştirme
liste=["Ali","Veli","Zır","Zekeriya"] #şeklindeki bir listede Velinin yerine "velinin kardeşi" diyelim
liste[1]="Velinin Kardeşi"
print(liste)
#ilk 3 elemanın değerlerini değiştirelim
liste[0:3]="Alinan Anası", "Velin anası", "zır delinin delisi"
print(liste)
print(liste+["kemal"]) # görüntüde kemal eklenmiş gibi gözükür ama listede kemal yoktur
print(liste)
print(liste)
Liste methodları
liste=["Ali","Veli","Zır","Zekeriya"]
#0 elemana değer ekleyelim
[Link]("Salim") #listeye kalıcı bir değer eklenir
print(liste) #listeyi görelim Salim eklenmiş
#Salim i geri kaldıralım listeden çıkaralım
[Link]("Salim")
print(liste)
#dedik ki liste değerleri belli bir indexe sahiptir o zaman bu index özelliğini kullanalım
#1. ci elemena yeni bir eleman ekleyelim yukarıdakki listede 4 olan elemen sayısı 5 e çıksın
liste=["Ali","Veli","Zır","Zekeriya"]
[Link](1, "hafiz") #1 indeksdeki değeri 2 ye kaydırarak yeni bir değer ekledik
print(liste)
liste[0]="Zeynep" #o indexin değerini yeni değerle değiştirdik alinin yerine zeynep
print(liste)
# ben 0 elemen yerine yeni bir değer koymak istersem
[Link](0,"Kamile")
print(liste) #listenin eleman sayısı 5 den 6 ya çıktı yeni bir eleman girdim
Liste methodları
# 2 sıraki hafiz i bir kaydırarak onun yerine bir eleman koymak istersem
[Link](2,"Zeliş")
print(liste) # yeni eklenen elemanla listenin eleman sayısı 7 ye çıktı
print(len(liste))
### pop methodu eleman silmek inin kullanılır eğer index değeri verilmezse en sondan siler
[Link]()
print(liste) # Zekeriya gitti
[Link](0) # Kamile gitti
print(liste)
print(mastakliste)
Neler gördük
Gördüğünüz gibi, yaptığımız bu iş değişken tanımlamaya çok benziyor. İstersek demetin öğelerini
parantez içinde de gösterebiliriz.
demet2 = ("Ali", "Veli", 49, 50)
demet = ()
Peki tek öğeli bir demet nasıl oluşturulur? O kadar basit değil. Aslında basit ama biraz tuhaf:
demet1 = ("kus",)
Gördüğünüz gibi, tek öğeli bir demet oluşturabilmek için öğenin yanına bir virgül koyuyoruz!
Hemen teyit edelim:
demet2 = ("kus")
demet2'nin tipini kontrol edelim: type(demet2) <type 'str'>
Tuples işlemleri
Demek ki, virgülü koymazsak demet değil, alelade bir karakter dizisi oluşturmuş oluyoruz...
Yukarıda anlattığımız şekilde bir demet oluşturma işine "demetleme" (tuple packing) adı veriliyor.
Bunun tersini de yapabiliriz. Buna da "demet açma" deniyor (sequence unpacking):
Önce demetleyelim:
Bu şekilde komut satırına "a" yazarsak, "Anne" öğesi; "b" yazarsak "Baba" öğesi; c yazarsak
"Kardesler" öğesi ekrana yazdırılacaktır. "Demet açma" işleminde dikkat etmemiz gereken nokta,
eşittir işaretinin sol tarafında demetteki öğe sayısı kadar değişken adı belirlememiz gerektiğidir...
Tuples işlemleri
print(type(aile))
print(aile)
print(a)
print(b)
print(c)
print([Link](‘Anne’))
print(aile[0:2])
Sözlük oluşturma işlemleri
• Kapsayıcıdır
• Sırasızdır
• Değiştirilebilir
Sözlüğün ne demek olduğunu tanımlamadan önce gelin isterseniz işe bir örnekle başlayalım:
Burada örneğin, "elma" bir "anahtar", "meyve" ise bu anahtarın "değeri"dir. Aynı şekilde "sebze"
değerinin anahtarı "domates"tir.
Dolayısıyla Python'da sözlük; key ("anahtar") ve value ("değer") arasındaki ilişkiyi gösteren bir veri tipidir!
Mesela bir adres veya telefon defteri yaratmak istediğimizde bu sözlüklerden faydalanabiliriz. Yani
"sözlük" denince aklımıza sadece bildiğimiz sözlükler gelmemeli... Şu örneğe bir bakalım:
telefon_defteri = {"Ahmet": "0533 123 45 67", "Kezban": "0532 321 54 76", "Feristah": "0533 333 33 33"}
Sözlük oluşturma işlemleri
telefon_defteri =
{"Ahmet": "0533 123 45 67", "Kezban": "0532 321 54 76", "Feristah": "0533 333 33 33"}
print(telefon_defteri)
print(telefon_defteri["Ahmet"])
print(telefon_defteri["Feristah"])
#print(telefon_defteri["Zulkuf"])
Sözlük oluşturma işlemleri
telefon_defteri =
{"Ahmet": ["Patron","0533 123 45 67"], "Kezban": ["Ceo","0532 321 54 76"], "Feristah":
["Aşçı","0533 333 33 33"]}
print(telefon_defteri)
print(telefon_defteri["Ahmet"])
print(telefon_defteri["Feristah"])
Sözlük eleman ekleme/çıkarma işlemleri
telefon_defteri =
{"Ahmet": "0533 123 45 67", "Kezban": "0212 765 43 21", "Feristah":"0216 123 45 67"}
print(telefon_defteri["Ahmet"]["Ev"])
print(telefon_defteri["Feristah"]["İş"])
Küme oluşturma
Set(Küme) sırasızdır, eşsizidir (aynı elemandan birden fazla bulunamaz), eleman
eklenebilir, farklı veri tiplerini barındırır. Süslü parantezler kullanılır.
Bu veri tipi, matematikteki kümelerin sahip olduğu bütün özellikleri taşır. Yani
matematikteki kümelerden bildiğimiz kesişim, birleşim ve fark gibi özellikler
Python’daki kümeler için de geçerlidir.
Kümelerin bize sunduklarından faydalanabilmek için elbette öncelikle bir küme
oluşturmamız gerekiyor. Küme oluşturmak çok kolay bir işlemdir. Örneğin boş bir
kümeyi şöyle oluşturuyoruz:
bos_kume=set()
print(type(bos_küme)) <class set>
Küme oluşturma
dersler={"Fizik","Kimya","Matematik","Programlama","BTT"}
print(dersler)
[Link]("ingilizce")
print(dersler)
[Link]("Fizik")
print(dersler)
print("Küme boyutu",len(dersler))
#dersler setine tekrar paket edebiyat gibi bir liste ve müzik, din kültüründen oluşan
# başka bir set ekledik update birden fazla değer ekler
[Link](["Paket", "Edebiyat"], {"Müzik", "Din Kültürü"})
print(dersler)
[Link]("Paket")
print(dersler)
print([Link]())
print([Link]())
print([Link]())
print(dersler)
Küme işlemleri
dersler={"Fizik","Kimya","Matematik","Programlama","BTT"}
#paket i çıkarlalım
[Link]("Paket")
print(dersler)
#bttt yi çıkaralım
[Link]("BTT")
print(dersler)
[Link]("Fizik")
print(dersler)
İki Kümenin Farkı(Difference)
set1=set([1,3,5])
set2=set([1,2,3])
[Link](set2)
print([Link](set2))
print([Link](set1))
print(set1.symmetric_difference(set2))
print(set1 - set2)
print(set2 - set1)
İki Kümeyi Birleştirme(Union)
set1=set([1,3,5])
set2=set([1,2,3])
[Link](set2)
print([Link](set2))
[Link](set1)
print([Link](set1))
İki Kümenin Kesişimi (Intersection)
set1=set([1,3,5])
set2=set([1,2,3])
[Link](set2)
print([Link](set2))
[Link](set1)
print([Link](set1))
set1.symmetric_difference(set2) yazılır.
set1.symmetric_difference(set2) ile set2.symmetric_difference(set1)
aynı sonucu verir.
set1=set([1,3,5])
set2=set([1,2,3])
set1.symmetric_difference(set2)
print(set1.symmetric_difference(set2))
set2.symmetric_difference(set1)
print(set2.symmetric_difference(set1))
Setlerde sorgu işlemleri
set1=set([7,8,9])
set2=set([5,6,7,8,9,10])
#iki küme kesişimi boş mu? ture dönerse bos false dönerse boş değil
[Link](set2)
print([Link](set2))
#bir kumenin bütün elemanları başka bir kümede yer alıp almadığı
#set1 set2 nin bir alt kümesi midir?
print([Link](set2))
print([Link](set1))
Küme oluşturma
Örnekte 2 ve 10 elemanları tekrar etmiştir ama print ile ekrana yazıldığında tekrar eden elemanlar
yazılmamaktadır.
a={1,2,2,3,4}
c={1,3,4,4,10,10}
a={1,2,2,3,4}
c={1,3,4,4,10,10}
#iki kümenin farkını alalım (Bir kümenin diğer kümeden çıkarılmasıyla kalan elemanlar yazılır.)
print([Link](c))
print([Link](a))
• Print
• İnput
• Listeler
• Tuple
• Sözlük
• Setler
gelisimedu igugelisim
[Link]
BAŞVURULANKAYNAKLAR
gelisimedu igugelisim
[Link]