Python Baş Ucu Rehberi
- GENEL
- İLK PYTHON KODUNUZ (NASIL ÇALIŞTIRALIM?)
- PYTHON YAZIM KURALLARI
- TEMEL ESASLAR
- KOŞULLAR
- DÖNGÜLER (LOOPS)
- DATA YAPILARI
BU BOLUMLER GUNCELLENIYOR...
* Tuples
* Sets
* Dictionaries
- Fonksiyonlar
- Nesne Tabanlı Programlama ve Python
1. GENEL
1.1 Python Nedir?
Python
üst seviye (high-level), çoklu model (multi-paradigm) bir programlama dilidir. Çoklu model diyoruz çünkü hem fonksiyonel hem de nesne tabanlı programlamayı destekler. Bu bir ağız dolusu ifade size bir şey ifade etmiyorsa aldırmayın. İlerleyen bölümlerde sırası geldikçe bu konuları kavrayacağız.
Ayrıca Python
dinamik yazımlı bir programlama dilidir. Ancak tip kontrolünde katı değildir. Yani Java
ve C#
gibi diller daha siz yazarken kodunuzdaki nesnelerin tipini kontrol ederken Python
bunu yapmaz ve sizin yazmanıza izin verir. Bunun yerine yazdığınız kod çalışma zamanında (run time) kontrol edilir. Bu bazen hatalı tip kullanımına neden olsa da esnekliği yüksek bir dil olduğu için çok hızlı geliştirmryr imkan verir.
Python
1980' lerin sonunda tasarlandı ve adını BBC televizyonunda gösterimde olan Monty Python’s Flying Circus
(Monty Piton'un Uçan Sirki) isimli bir şovdan aldı. Hollandalı bir programcı olan Guido van Rossum ilk Python uygulamalarını ABC
isimli başka bir programlama dilinden esinlenerek 1989 yılında oluşturdu.
Python 2.0 versiyonu 16 Ekim 2000 yılında ve Python 3.0 versiyonu ise 3 Aralık 2008 yılında piyasaya sürüldü. Python 3.0 büyük değişiklik ve yenilikler içerir ve bir önceki 2.0 versiyonu ile tam uyumlu değildir. Bu yazının yazıldığı tarih itibariyle Pyton 3.11
versiyonu yayımlanmıştır ve hala da güncellenmeye devam etmektedir. Bu rehber Python 3 versiyonu için hazırlanmıştır.
1.2 Niçin Python Bu Kadar Yaygın?
Bu sorunun en iyi cevabı Python' ın ana özelliklerinde gizli. Sıralayacak olursak;
- Ücretsiz ve açık kaynak
- Hemen her ortamda çalışabilir. (Linux, Windows, Mac, FreeBSD, Entegre Cihazlar ...)
- İnanılmaz geniş ve kullanmaya hazır kütüphaneler
- Çoklu model (Fonksiyonel veya Nesne Tabanlı)
- İyi bir topluluk (community) desteği
- Web geliştirme, otomasyon, data bilimi ve makine öğrenmesi, yazılım testi gibi çok geniş kullanım alanı
- Diğer dillere göre kolay öğrenme eğrisi olması
Listeye bakınca Python
'ın StackOverFlow
2022 anketlerinde Javascript' ten sonra en çok kullanılan 2'nci dil seçilmesine şaşırmamak gerekir. Bu listeyi daha da uzatabiliriz.
Kısacası yaşayan, iyi bir topluluk desteğine sahip ve zengin bir dil olması ile Python öğrenmeye değen bir programlama dilidir.
1.3 Python Kurulumu
https://www.python.org adresine gidin ve Downloads
menüsüne tıklayın. İşletim sisteminiz için uygun olan paketi indirin. Genelde en son kararlı sürümü size önerecektir. Paketi indirdikten sonra yönergeleri izleyerek kurun.

Eğer işletim sisteminiz macOS ise yukarıdaki kuruluma alternatif olarak homebrew ile (tavsiye edilen yöntem) kurulum yapabilirsiniz.
2. İLK PYTHON KODUNUZ (NASIL ÇALIŞTIRALIM?)⌃
Python kurulumunu tamamladı iseniz, artık kodlarımızı çalıştırabiliriz. Python kodlarını çalıştırmanın iki temel yolu vardır.
- İnteraktif komut satırı ile doğrdan çalıştırma
- Kod Editör ile Python dosyalarını çalıştırma
2.1 İnteraktif Komut Satırı
İşletim sisteminize göre uygun terminali açın ve eğer Windows
veya macOS
kullanıyorsanız komut satırına python
eğer Linux
kullanıyorsanız python3
yazın. Bu rehberin kalan bölümlerinde bu komut python
olarak kullanılacaktır. Siz işletim sisteminize uygu olanı kullanmalısınız. Aşağıdakine benzer bir ekran görüyorsanız Python
bilgisayarınıza doğru kurulmuş ve sistem yolu (environmental variable) doğru ayarlanmış demektir.
~ python
Python 3.10.6 (main, Aug 30 2022, 05:12:36) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Yukarıda yazdığınız python
komutu ile python konsoluna giriş yaptınız. Buna REPL
da denir. Yani Read-Evaluate-Print-Loop (Oku-Değerlendir-Ekranda göster-Tekrar komut satırına dön)
Ekran çıktısında kullandığınız Python
sürümünü görebilirsiniz. Ekranda bulunan >>>
bize Python
konsolunu kullandığımızı ve onun içinde olduğumuzu gösterir.
Şimdi ilk Python
kodumuzu deneyelim. Basit bir toplama yapalım.
~ python
Python 3.10.6 (main, Aug 30 2022, 05:12:36) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 + 1
2
>>>
Gördüğünüz gibi yazdığınız kod enter
tuşuna basar basmaz uygulandı (execute) ve ekranda sonucu gösterdi.
Python' da en yaygın fonksiyonlardan biri print
yani "ekrana yazdır" fonksiyonudur. Bu fonksiyon ile tek ya da çift tırnak kullanılabilir.
~ python
Python 3.10.6 (main, Aug 30 2022, 05:12:36) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('Merhaba izleogrenkodla')
Merhaba izleogrenkodla
>>>
Tebrikler ilk Python kodlarınızı şimdiden yazdınız.
2.2 Kod Editörü (IDE)
REPL anlık sonuçları görmek için çok pratik bir yöntem olsa da, Python programlama için bir IDE (Integrated Development Environment) 'ye ihtiyaç duyarız. IDE, Entegre edilmiş geliştirme ortamı ya da kod editörü diye çevrilebilir. IDE'ler yazdığımız kodun yazım kontrolü, otomatik tamamlama, farklı bölümleri farklı renklendirme (code highlighting) gibi birçok kolaylık sağlarlar.
Ayrıca python
kodlarımızı tek satırlık komutlar yerine sonu .py
uzanlıtı Python dosyalarında tutar ve bu dosyaları çalıştırırız. REPL ile bunları yönetmek mümkün değildir. IDE' ler klasör ve dosya yönetimi açısından gereklidir.
Python ile geliştirme yapacağınız birçok IDE var. En çok bilinenleri VS Code
ve Pycharm
. Siz istediğiniz bir editörü seçebilirsiniz, izleogrenkodla olarak bizim tercihimiz VS Code
.
VS Code editörünü bu adresten indirip kurabilirsiniz. Kurulum gerçekten çok basit, sadece yönergeleri izleyin. VS Code kurduktan sonra en sol menü çubuğundan eklentilere tıklayın ve arama çubuğuna Python yazın
. Ekrana gelen eklentilerden Microsoft
tarafından sunulan official Python eklentisini kurun. Bu VS Code editörünün Python kodlarını otomatik algılamasını, tamamlamasını ve renklendirmesini sağlayacak.

Python kodlarınızı yazacağınız bir klasör oluşturun. Örneğin biz dosyalarım altında python_rehberi
isimli bir klasör oluşturduk.
VS Code ile bu klasörü Open Folder tuşuna basarak açın ve program.py
isminde bir dosya oluşturun. Dosyanın içine aşağıdaki kodu yazın. Kod basitçe ad
isminde bir değişken oluşturuyor ve ona izleogrenkodla değerini atıyor. Sonrada bunu ekranda yazdırıyor. Bu konuyu ilerleyen bölümde açıklayacağız şimdilik sadece dosyanızı oluşturun.
Dosyanızdaki değişiklikleri kaydedin ve VS Code Terminal
menüsünden New Terminal
tuşuna basın. Bu VS Code içinde bir komut satırı açacaktır. Komut satırına python program.py
yazın. Bu dosyamızdaki kodu okuyup çalıştıracaktır.

2.3 Online Editörler
Python öğrenirken işinize çok yarayacağını düşündüğümüz iki araçtan bahsedeceğiz. Bunlardan ilki siz kodunuzu yazdıkça görsel olarak kodun ne yaptığını gösteren Python Tutor, diğeri ise python
dahil onlarca değişik programlama dilini doğrudan yazabileceğiniz repl.it
Python Tutor
Python Tutor kod görselleştirme aracıdır. Kodunuzu çalıştırırken her adımda size ne olduğunu gösterir. Bu sayede yeni programlamaya başlayanların en çok zorlandığı bölümlerde çok işe yarayan bir araçtır.

Bu rehberde bulunan çoğu konuyu bilgisayarınıza hiçbir şey kurmadan Python Tutor ile yapabilirsiniz. ancak yine de hatırlatalım Python Tutor
tam kapsamlı bir geliştirme editörü ya da ortamı değildir. Bu nedenle Python ve VS Code editörü bilgisayarınıza kurmanızı şiddetle tavsiye ederiz.
repl.it
repl.it Python
da dahil olmak üzere birçok dilde geliştirme ortamınızı online oluşturup direkt kodlamaya başlayabileceğiniz bir uygulama. Python Tutor' dan farklı olarak rpel.it tam bir geliştirme ortamı sunar.

Siteye kaydolun (ücretsiz) ve Create
butonuna basıp ardından Python
'ı seçin. Daha sonra projenize bir isim verin ya da önerilen ismi kbul edin ve Create Repl
butonuna basın.

Online editor açılacak main.py
dosyası oluşturulmuş olacaktır. burada istediğiniz klasör ve dosyaları oluşturarak projenizi geliştirebilirsiniz.Dosyanızda kodlarınızı yazdıktan Run
tuşuna basın ve kodunuzu çalıştırın.

3. PYTHON YAZIM KURALLARI⌃
Python ana prensiplerinden biri de insanoğlu tarafından kolay okunabilecek bir dil oluşturmaktır. Bu nedenle diğer dillerde olduğu gibi ilave sembol ve yapılara ihtiyaç duyman okunması kolay bir dildir. Elbette her dilde olduğu gibi Python da kendine özgü kurallara sahiptir.
3.1 Indentation (Girinti / Satırbaşı)
Aşağıdaki örnek kod parçasında scope
yani blok konseptini açıklamaya çalışalım. Bu örnekte bir fonksiyon var. Bu sizin için bir anlam ifade etmiyorsa endişelenmeyin fonksiyonlar konusunu ileride öğreneceğiz.
def carp_yazdir(number1, number2):
print(number1 * number2)
Yukarıda carp_yazdir
isminde bir fonksiyon tanımlıyoruz. Bu fonksiyon number1 ve number2 iki adında iki değer alıyor. İlk satır fonksiyonu tanımlama satırı.
Farkettiğiniz gibi ikinci satır bir girinti ile başlıyor. Bu girinti bize ikinci satırın ilk satırın kapsama alanı içinde olduğunu gösterir. Ya da bunu şöyle ifade edebiliriz: İkinci satır carp_yazdir
fonksiyon bloğuna (scope) aittir.
Javascript, C#, Java gibi birçok yaygın dil scope
ya da blok belirlemek için süslü parantez kullanır. bu dillerde her satır sonunda da noktalı virgül vardır. Eğer yukarıdaki fonksiyonu Javascript
ile yazmış olsaydık aşağıdaki gibi olurdu.
function carp_yazdir(number1, number2) {
console.log(number1 * number2)
}
Fakat Python' da bu noktalı virgüller ve süslü parantezler yoktur. Sadece indentation (girinti) vardır. bu nedenle indentation önemlidir ve indentation' da hata yapılırsa kod ya hiç çalışmaz ya da doğru çalışmaz.
3.2 Yorum Satırı
Yorum satırları programlama dillerinin çalıştığı anda dikkate almadıkları ve es geçtikleri satırlardır. Programımıza bir not ya da bilgi eklemek istediğimizde yorum satırlarını kullanırız. Bu sayede kodumuzu dokumante ederiz. Komut satırları hem bizim hem de projede beraber çalıştığımız takım arkadaşları için önemlidir. Çünkü bir kodu yazdıktan bir süre sonra tekrar geri döndüğünüzde size rehberlik eder ve kod okumanızı hızlandırır.
Python programlama dilinde yorum satırı eklemek için hashtag karakteri #
kullanılır. Aşağıdaki satırlar Python tarafından çalıştırılmaz ve es geçilir.
# İlk yorumumu yazıyorum.
# İkinci yorumumu yzıyorum
Maalesef Python' da çoklu yorum satırı eklemek mümkün değildir bu nedenle yorum olan her satırın başına #
eklemek zorundayız.
3.3 İsimlendirme Kuralları
Python'da varsayılan olarak snake_case
isimlendirme kuralı kullanılır. Bu kural genel olarak küçük harf kullanmayı ve her kelimenin arasına alt tire _
işareti koymayı kapsar.
Python'da yazılan bir ifade büyük ve küçük harf hassatır. Yani ilk_listem
ile Ilk_Listem
aynı gibi görünseler de iki ayrı şeydir. Belirttiğimiz gibi Python dilinde çoğu zaman küçük harfler kullanılır. Bazı yapıların tanımlamasında ise büyük harfle başlanır. Örneğin ileride göreceğimiz class
(Sınıf) yapıları büyük harfle tanımlanır. Sırası geldikçe bu konulardan bahsedecğiz.
4. TEMEL ESASLAR⌃
4.1 Değişkenler (Variables
Devam etmeden önce bir hususu hatırlatmakta yarar var. Bu rehber boyunca kodları gördüğünüz kod snippet sağ üstüne mouse ile gelirseniz, Copy
butonunu görebilirsiniz. Bu sayede istediğiniz kodu kopyalayabilirsiniz.

Değişkenler (variables) boş kutulara benzetilebilir. Nasıl bir kutunun içinde bir şey saklarsınız, gerektiğinde kutudan çıkarır ve bazen içine başka bir şey koyarsınız, değişkenler de belirli değerleri saklamak için kullanılır. Bir değişken oluşturduğunuzda hafızada (memory) bir yer tutar. Birçok programlama dili bir değişkenin önceden tanımlanmasını gerektirir. Ancak Python' da buna ihtiyaç yoktur. Değişkeni yazıp ona bir değer atadığımız anda Python otomatik olarak önce onu oluşturur ve sonra değeri ona atar.
ad = "izleogrenkodla"
hedef = "IT konularını en basit haliyle anlatmak"
makale_sayisi = 11
Yukarıda değişkenlerimizi tanımladık. Şimdi onları ekrana yazdırabiliriz.
print(ad)
print(hedef)
print(makale_sayisi)
ve kodun çıktısı;
izleogrenkodla
IT konularını en basit haliyle anlatmak
11
Sayılar değişken isminde kullanılabilir ama bir değişken isimi sayı ile başlayamaz. Ya bir harfle başlamalıdır ya da alt tire ile başlayabilir. @, $
gibi özel karakterler kullanılamaz. Bunların yanında Python' a özel anahtar kelimeler (keywords) de değişken ismi olarak kullanılamaz. Örneğin print
gibi. Tüm anahtar kelime listesine buradan erişebilirsiniz.
4.2 Basit Tipler (Primitive Types)
Basit tipler, temel data yapılarıdır. Bunları sıralayacak olursak;
- Sayılar (Integers)
- Ondalıklı Tipler (Floats)
- Metinsel tipler (Strings)
- Doğru-Yanlış (Boolean)
Integers
Bu tipler pozitif ve negatif tam sayılardır.
derecem = 84
Floats
Eğer ondalık kullanmak istersek tipimiz float olmalıdır.
tam_derecem = 84.30
Strings
Bu ifadenin tam Türkçe karşılığı yok gibi ama metinsel ifadeler diyebiliriz. Strings deyince aklımıza harfler, kelimeler, karakterler gelmeli. Tek satır bir string yazıyorsak tek ' '
ya da çift " "
tırnak işareti kullanırız. Eğer çok satırlı bir string yazıyor isek üçlü tırnak kullanırız.
ad = "Ali"
konu = 'Python'
benim_fikrim = "Python 10 numara bir dil!"
alisveris_listem = """
Limon
Marul
Üzüm
"""
String ifade içinde tırnak işareti kullanmamız gerekiyor ise dışarıdaki tırnak işaretini tek kullandı isek içeridekini çift kullanabiliriz ya da tam tersi. Diğer bir yöntem ise programcılıkta kaçma karakteri escape character
denen karakteri kullanmak. Python'da \
escape karakterdir. Bu karakter kendinden sonra gelen karakteri direkt string içinde yazdırır. Örneklerle daha iyi anlaşılacaktır.
# Dışarıda tek tırnak
gunun_sozu1 = 'En değerli "hazine" sağlığımızdır.'
# Dışarıda çift tırnak
gunun_sozu2 = "Akıl yaşta değil 'başta' dır."
# Escape karakter ile
gunun_sozu3 = "Sakla \"samanı\" gelir zamanı."
Yukarıda son değişkende escape karakter kullandık. Dolayısıyla samanı
kelimesinden önceki ve sonraki çift tırnaklar bir string ifadenin başladığını ya da bittiğini belirtmiyor. Çünkü tırnak işaretinin Python' daki görevinden kaçtık ya da escape yaptık. Onun yerine bu işaretler sadece tırnak işareti belirtiyor.
Boolean
Boolean veritipi doğru (True) ve yanlış (False) olmak üzere iki değer alabilir.
ali_ayseden_buyuk = True
ali_ayseden_buyuk = False
Tip Kontrolü (Checking type)
Bu kısmı bitirmeden önce Python' da tip kontrolü nasıl yapılır bir gözatalım.
Python'da tip kontrolü için type()
fonksiyonu kullanılır. Tipini kontrol etmek istediğiniz değişkeni (variable) bu fonksiyon içinde argüman olarak kullanmanız gerekir.
Parametre ve Argüman konusunu fonksiyonlar konusunda detaylı olarak göreceğiz. type fonksiyonu için yapmanız greken tipini öğrenmek istediğiniz değişkeni parantezler içine yazmanız.
name = Ali
type(name)
Yukarıdaki kod name
değişkeninin tipini bize geri döndürür ancak biz onu göremeyiz. Onu ekranda görmek istersek bir de yazdırmamız gerekir. Bu nedenle kodu şu şekilde yazalım.
name = Ali
print(type(name))
ve çıktı;
<class 'str>'
Gördüğünüz gibi fonksiyonlar iç içe de kullanılabilir. Yukarıda önce name isminde değişken tanımladık. En içeriden başlarsak önce bu değişkenin tipini bulduk sonra da yazdırdık. Tahmin ettiğiniz gibi name değişkenin tipi bir string
.
4.3 Metinsel Tipleri (Strings) Anlamak
Index
String
tipi aslında birden fazla karakter dizisidir. Bu dizide her bir karakterin dizin içindeki işaret numarası yani index
numarası vardır. Index mumarası soldan sağa 0
' dan, sağdan sola ise -1
' den başlar.
Hemen bir örnek verelim. Aşağıda `name` isminde bir değişken (variable) tanımlıyoruz ve "izle öğren kodla" değerini bu değişkene atıyoruz.
name = 'izle öğren kodla'
Şimdi soldan ikinci karakteri yazdırmak istediğimizi düşünelim. Bu z
harfidir. Bunun için Python' a doğru index bilgisini söylememiz gerekir. Aşağıdaki tabloda index numaraları soldan ve sağdan gösterilmiştir.
Gördüğünüz gibi z
harfinin index numarası soldan 1
ve sağdan -15
' tir. Her iki index numarası da bize aynı değeri verir. Index numaraları değişkenin adının yanında köşeli parantez içinde belirtilir. Aşağıdaki örneklere bakalım:
print(name[1])
print(name[-15])
bu iki satırın çıktısı;
z
z
Yani her ikisi de birbirine eşit. O zaman şöyle diyebiliriz:
name[1] == name[-15]
String Uzunluğu
Bir string' in uzunluğunu bulmak için len
fonksiyonunu kullanırız.
print(len('Test Automation'))
15
Slicing (Dilimleme)
Index' lerin yardımıyla bir string' in istediğimiz bölümünü dilimleyip alabiliriz. Buna slicing
denir.
my_film = 'Lord of The Rings'
print(my_film[0:4])
Lord
Yukarıda my_film[0:4]
ifadesini kullandık. Bu 0 ile 4' üncü index arasındaki karakterleri alır. Burada sıfır dahildir 4 hariçtir. Yani sıfırdan başla 4'e kadar git 4 hariç
demektir.
Concatenation (Birleştirme)
İki veya daha fazla string ifadesini +
operatörü ile birleştirerek tek bir string haline getirebiliriz.
name = 'Ahmet'
surname = 'Güçlü'
full_name = name + ' ' + surname
print(full_name)
Ahmet Güçlü
Case Conversion (Harf Dönüştürme)
upper()
metodu tüm karakterleri büyük harfe, lower()
metodu ise küçük harfe dönüştürür.
buyuk_harf = 'Izle Ogren Kodla'.upper()
kucuk_harf = 'Izle Ogren Kodla'.lower()
print(buyuk_harf)
print(kucuk_harf)
IZLE OGREN KODLA
izle ogren kodla
String' lerle daha birçok metod kullanabiliriz. Biz burada sadece en çok kullanılanlarını göstermeye çalıştık. String ifadesini incelemek isterseniz Python dokümanlarını inceleyebilirsiniz.
4.4 Operatörler (Operators
Assignment (Atama) Operatörü
=
işareti birçok programlama dilinde olduğu gibi Python için de atama operatörü olarak kullanılır. Örneğin:
benim_yasim = 19
Bu bir atamadaır. benim_yasim
değişkenine 19
değerini atar.
Arithmetic (Hesaplama) Operatörleri
Bunlar temel matematiksel işlemleri yapabileceğimiz operatörlerdir.
- “+”: Toplam
- “-“: Çıkarma
- “/”: Bölme
- “//”: Tam sayı bölme (virgülden sonrasını aşağıya yuvarlar)
- “*”: Çarpma
- “%”: Kalan (bu mod operatörü diye de bilinir.)
print(3 + 6)
print(8 - 1)
print(7 / 2)
print(7 // 2)
print(3 * 6)
print(7 % 2) # 7 ikiye bölünürse geriye 1 kalır. (2 * 3) + 1
9
7
3.5
3
18
1
Comparison (Karşılaştırma) Operatörlei
Bu operatörler iki değeri karşılaştırmak için kullanılır.
- “==” : Eşittir. (Bildiğimiz eşittir iki tane eşittir ile yapılır.)
- “!=” : Eş değildir.
- “<" : Küçüktür.
- “<=": Küçük eşittir.
- “>” : Büyüktür.
- “>=” : Büyük eşittir.
print(6 > 3)
print(5 != 5)
print(2 <= 7)
print('aaa' == 'aaa')
True
False
True
True
Logic (Mantık) Operatörleri
Bu operatörler boolean logic
(doğru-yanlış mantığı) işlemleri yapmak için kullanılır.
Boolean Logic:
- "and" : İki ifade de doğru ise doğrudur aksi takdirde yanlıştır.
- "or" : İki ifade de yanlışsa yanlıştır aksi takdirde doğrudur.
- "not" : Doğru ise yanlış, yanlış ise doğrudur.
print(6 > 3 and 'a' == 'a')
print(3 > 6 and 'a' == 'a')
print(3 > 6 or 'a' == 'a')
print(3 > 6 or 'a' != 'a')
print(not(3 > 6))
True
False
True
False
True
Operatörlerin değişik öncelik sıraları vardır. Aşağıdaki tablo en çok kullanılan operatör ve sıralamalarını göstermektedir.
No | Operatör | Açıklama |
---|---|---|
1. | () | Paranteze alınmış ifadeler |
2. | *,/,//,% | Sırasıyla çarpma, bölme, kalansız bölme, kalan |
3. | +, - | Sırasıyla toplama ve çıkarma |
4. | in, not in, is, is not, <, <=, >, >=, =!, == |
Karşılaştırma ve aidiyetlik |
5. | not x | Boolean NOT |
6. | and | Boolean AND |
7. | or | Boolean OR |
4.5 Kullanıcıdan Girdi Almak (User Inputs)
Kullanıcıdan bir girdi isteği yapmak için input()
fonksiyonu kullanılır. Bu fonksiyon çalıştığında program komut satırında kullanıcının bir giriş yapması için bekler. Bu esnada input()
fonksiyonu içinde kullandığımız string ifade kullanıcıya gösterilir.
sehir = input('Lütfen yaşadığınız şehri giriniz: ')
Lütfen yaşadığınız şehri giriniz: İstanbul
print(sehir)
İstanbul
Burada hatırlamanız gereken nokta kullanıcıdan alınan değer her zaman string tipindedir. Yani metinsel tip. Kullanıcı sayı bile girmiş olsa girdiği değerin tipi string' dir.
year = input('Lütfen doğum yılınızı giriniz: ') #Kullanıcı 2000 yazmış olsun.
print(year)
print(type(year))
2000
<class 'str'>
4.6 Tip Dönüşümleri (Type Conversion)
Bazen kullanıcı tarafından sunulan ya da başka kaynaklardan alınan verinin tipi yapacağımız işlemler için uygun olmayabilir. Bir önceki örnekte gördüğümüz gibi kullanıcı doğum yılını normalde yıl olarak girer ama input fonksiyonu bunu her zaman string data tipinde tutar. Örneğin kullanıcı 2001
girer ama bu input fonksiyonu nedeniyle "2001"
şeklinde tutulur. Bu durumda string
tipinden int
tipine dönüştürme yapmamız gerekebilir.
Python' da iki ana tip dönüşüm çeşidi vardır.
- Explicit Conversion (Açık Dönüşüm)
- Implicit Conversion (Kapalı Dönüşüm)
Explicit Type Conversion
Bu dönüşümde bilerek ve isteyerek değişkenin tipini biz değiştiririz. Veriyi bir tipten diğerine dönüştürürüz. Bu tip dönüşümler için Python' da önceden tanımlanmış fonksiyonlar bulunur.
- str()
- int()
- float()
- ...
Bazı kaynaklarda bu tip dönüşüm terimini type casting
olarak da görebilirsiniz. Bu tip dönüşüm sadece iki tip birbirine uyumlu ise yapılabilir.
Gelin bu dönüşümü bir örnekle inceleyelim. Aşağıda iki ayrı değişken (variable) oluşturup aynı sayıyı içinde tutalım. Ancak ilki integer
olsun ikincisi string
benim_sayim1 = 11
benim_sayim2 = '11'
Bunları ekrana yazdırırsak aynı sonucu verir.
11
11
Görünüşte bu iki değerde aynı gibi görünüyor. Ama bunların tipini kontrol edersek:
print(type(benim_sayim1))
print(type(benim_sayim2))
<class 'int'>
<class 'str'>
Gördüğünüz gibi ilk değişken integer
, ikincisi ise string
tipinde. Tip dönüşümü yapmadan önce bir işlem daha yapalım ve neden tip dönüşümüne ihtiyacımız olduğunu daha iyi anlayalım. yukarıdaki iki değişkenle devam edelim ve tip dönüşümü yapmadan bunları toplamaya çalışalım.
toplam_sayim = benim_sayim1 + benim_sayim2
Bu işlemden sonra
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Python bizim bir string
ile bir integer
değişkeni toplamamıza izin vermedi ve tip hatası verdi. Bu hatayı engellemek için string
olan değişkeni integer
tipine Explicit Conversion
kullanarak dönüştürüyoruz. Bu dönüşüm için ihtiyacımız olan fonksiyon int()
.
benim_sayim2 = int(benim_sayim2)
print(type(benim_sayim2))
<class 'int'>
Dönüşümden sonra artık toplama işlemini yapabiliriz.
toplam_sayim = benim_sayim1 + benim_sayim2
print(toplam_sayim)
22
Implicit Type Conversion
Bu dönüşüm otomatik bir süreçtir ve kullanıcı müdahalesi gerektirmez. Bu dönüşüm belirli tip grupları ile sınırlıdır. Örneğin sayısal (numeric) gruplar gibi. Örneklerle inceleyelim.
ilk_notum = 8
ikinci_notum = 7.5
toplam_notum = ilk_notum + ikinci_notum
print(toplam_notum)
print(type(toplam_notum))
İlk değişkenin tipi integer
ve değeri 8. İkinci değişken ise ondalık sayı ve tipi float
. Yukarıdaki kodu çalıştırdığımızda sonucun da ondalık sayı olduğunu ve tipinin float
olduğunu görürüz.
15.5
<class 'float'>
Python otomatik olarak sonucun tipini float
yaptı. Çünkü bu tip integer
tipinden daha hassas ve data kaybını önlemek için bunu uyguladı. Biz Python'a tip dönüştürmesini söylemedik. İşte bu dönüşüme Implicit Conversion
yani kapalı dönüşüm denir.
Data Kaybına Dikkat!
Bir önceki örneğe dönelim ve Python yerine dönüşümü biz Explicit Conversion
ile yapalım. Aşağıda int+float işlemini int
' e çeviriyoruz.
toplam_notum = int(ilk_notum + ikinci_notum)
print(toplam_notum)
print(type(toplam_notum))
15
<class 'int'>
Gördüğünüz gibi verinin ondalık kısmını kaybettik. Sonuç 15.5 olması gerekirken 15 oldu. Bu nedenle bu konu tip dönüşümü yaparken mutlaka göz önünde bulundurulmalıdır. Eğer gerçekten niyetiniz bu değilse her zaman daha hassas olan data tipini tercih edin. Örneğin yukarıda int
yerine float()
kullanmak gibi.
4.7 Python Dosyaları
Şu ana kadar bir iki satır kod örnekleri kullandık ve Python REPL (komut satırı) bunun için yeterli olmuştur. Ancak gerçek uygulamalarda bu pratik bir yöntem değil. Bu nedenle daha önce kod editörü bölümünde bahsettiğiömiz gibi .py
uzantılı Python dosyalarını kullanacağız.
Tekrar edelim, kod editörü olarak istediğiniz bir editör kullanabilirsiniz. Bizim bu rehberdeki seçimimiz VS Code
.
Daha önce python_rehberi
isimli bir klasör oluşturmuş ve onu VS Code ile sçmıştık. Şimdi VS Code editörü tekrar açalım ve tam_ismi_yaz.py
isimli bir dosya oluşturalım.
Ardından aşağıdaki kodu dosyamıza kopyalayıp yapıştıralım.
first_name = input("Lütfen adınızı giriniz: ")
last_name = input("Lütfen soyadınızı giriniz: ")
tam_isim = "Your ful name is: " + first_name + " " + last_name
print(tam_isim)
buyuk_harf_isim = tam_isim.upper()
print(buyuk_harf_isim)
Siz kodunuzu yazdıkça VS Code editörünün intelliSense
özelliği size otomatik tamamlama yapacaktır.

Kodunuzu kaydedin ve ardından sağ üst köşede bulunan sağa yatık üçgen şeklindeki Run Python File
tuşuna basın

Siz kodunuzu çalıştırır çalıştırmaz VS Code kodunuzu kaydedecek ve komut satırını açarak orada çalıştıracaktır.

5. KOŞULLAR⌃
Koşul yapıları yazılım akış kontrolünün en önemli özelliğidir. Çünkü belirli kodlar ancak belirli koşullar altında çalıştırılmalıdır. Pek çok dilde olduğu gibi en sık kullanılan koşul yapıları Python'da if-else
bloklarıdır.
5.1 if Statement (if İfadesi)
Önce tek bir if
ifadesini inceleyelim. if
eğer, ise gibi anlamlara gelmektedir. Biz uygulamamıza aksini söylemedikçe kodumuz soldan-sağa ve yukarıdan-aşağıya akar. Bu akış esnasında kodun belirli bir bölümünün sadece belirli bir koşul ya da koşullar altında çalışmasını if
ile sağlarız. if
yapısı aşağıda gösterilmiştir.
if koşul_ifadesi:
çalıştırılacak kod
koşul ifadesinden sonra gelen :
işareti bunun bir kod bloğu olduğunu gösterir ve takip eden satırlar indentation
satır-başı ile başlar. Bu satır başı ile başlayan tüm satırlar if
ifadesine aittir. if
ifadesinin akış diagramı aşağıdaki gibidir.

Hemen bir örnek yazalım. Düşünün ki bir sinemanın yaşa göre film gösterim politikası olsun. Bu politikaya göre yaşı 16 ve üstünde olanlar tüm filmlere girebilsin.
yasiniz = 14
if yasiniz >= 16:
print("Tüm filmlere girebilirsiniz.")
print("Kodun geri kalanı")
Bu programı çalıştırdığınızda:
Kodun geri kalanı
Çünkü yasiniz
değişkeni 14 ve bu değer 16 dan küçük. Yani if ifadesi bize False
(yanlış) döndürür. Bu nedenle if
ifadesi içindeki blok çalıştırılmaz. "Tüm filmlere girebilirsiniz" çıktısını görmeyiz. Şimdi kodu değiştirelim ve yaşı 18 yapalım.
yasiniz = 18
if yasiniz >= 16:
print("Tüm filmlere girebilirsiniz.")
print("Kodun geri kalanı")
İşte şimdi if bloğu içindeki kod çalışır ve kod sonucu aşağıdaki gibi olur:
Tüm filmlere girebilirsiniz.
Kodun geri kalanı
5.2 if - else
Bir önceki if
örneğimizde küçük sinema programımız sadece verilen koşul doğru olduğunda çalışıyordu. Fakat verilen koşul yanlış olduğu zaman da programımız bir şey yapması gerekiyorsa o zaman bunu nasıl yapacağız? Bunun için Python else
(aksi takdirde, değilse) ifadesine sahiptir. if
ifadesi yanlış olduğu zaman else
ifadesi içindeki kod çalışır.if \- else
yapısı aşağıda gösterilmiştir.
if koşul_ifadesi:
if koşulu doğru ise çalışır.
else:
if koşlu yanlış ise çalışır.
if - else
ifadesinin akış diagramı aşağıdaki gibidir.

Şimdi sinema programımızı else ekleyerek biraz daha geliştirelim. Yine gösterim politikasına göre programımız, kullanıcının yaşı 16 ve üstü değilse, Üzgünüm PEGI 16+ filmlere girmezsiniz
yazdırsın.
yasiniz = 14
if yasiniz >= 16:
print("Tüm filmlere girebilirsiniz.")
else:
print("Üzgünüm PEGI 16+ filmlere giremezsiniz")
print("Kodun geri kalanı")
Bu kodu çalıştırdığımızda aşağıdaki çıktıyı alırız:
Üzgünüm PEGI 16+ filmlere giremezsiniz
Kodun geri kalanı
yasiniz
değişkeninin değerini 14' ten 16' ya alırsanız, ilk satırdaki çıktının Tüm filmlere girebilirsiniz
şeklinde değiştiğini görürsünüz.
5.3 elif ifadesi
elif
else if ifadesinin kısaltılmış şekilde yazılmış halidir. Programımızda birden fazla koşulu kontrol etmemizi sağlar.
Eğer ilk if
ifadesindeki koşul yanlış ise bir sonraki elif ifadesine bakılır. Eğer o da yanlış ise bir sonrakine...
Eğer tüm koşullar yanlış ise else
ifadesi iç,indeki koşul çalışır.
Yani tüm bu if, elif, else bloklarında koşulu sağlayan ilki ve yalnızca bir tanesi çalıştırılır.
Bir koşul bloğu birden fazla elif ifadesine sahip olabilir ancak kullanılırsa sadece bir tane else ifadesi olabilir. if \- elif \- else
yapısı aşağıda gösterilmiştir.
if koşul_ifadesi:
if koşulu doğru ise çalışır.
elif:
if ifadesi doğru değil ise bu elif kontrol edilir.
elif:
Bir önceki elif doğru değilse bu kontrol edilir.
else:
Tüm önceki koşullar yanlış ise çalışır.
Şimdi sinema uygulamamıza geri dönelim ve daha da geliştirelim. Kullanıcıdan yaşını alalım, bunu bir değişkende tutalım. Yaşa göre programımız aşağıdaki esaslarda çalışsın.
- Kullanıcı 6 yaşından küçük ise hiçbir filme giremesin.
- 6 yaş ve üzeri ile 11 yaş dahil olanlar sadece PEGI 6+ filmlere girebilsin.
- 12 yaş dahil üzeri ve 16 yaşından küçük olanlar PEGI12+ filmlere girebilsin.
- 16 yaş ve üzeri olan kullanıcılar tüm filmlere girebilsin.
yasiniz = int(input("Lütfen yaşınızı giriniz: "))
if yasiniz < 6:
print("Sinemaya giremezsiniz")
elif yasiniz < 12:
print("PEGI 6+ filmlere girebilirsiniz.")
elif yasiniz < 16:
print("PEGI 12+ filmlere girebilirsiniz")
else:
print("Tüm filmlere girebilirsiniz")
print("Kodun geri kalanı")
6. DÖNGÜLER (LOOPS)⌃
6.1 for Döngüsü
For döngüsü, Python'da kod bloklarını tekrarlamak için kullanılan yineleme yöntemlerinden biridir. Aşağıda for
döngüsünün yapısı verilmiştir.
for gecerli_deger in degerler_listesi:
for_icindeki_kod_blogu
Yukarıdaki gecerli_deger
, bu döngü esnasında kullanılan geçici değişkendir. Döngü boyunca degerler_listesi
içindeki her bir eleman bu geçici değişken içinde depolanır. string
, tuple
ve list
gibi yapılar her bir elemanı için yinelenebilir (iterative) yapılardır. Bu gibi yapılarda for
kullanılabilir. string
yapısından bahsetmiştik. Diğer yapılardan da sırası geldikçe bahsedeceğiz.
string içinde for döngüsü
Bir string
yapısının karakterleri içinde for
yapısını kullanarak döngü yapabiliriz. Daha önce gördüğümüz gibi string index kullanan bir yapı idi. Bu nedenle string karakterleri iterative (yinelenebilir) yapıdadır. Aşağıdaki örneğe bakalım.
ulke = 'Türkiye'
for harf in ulke:
print(harf)
Bu kodun çıktısı:
T
ü
r
k
i
y
e
range() Fonksiyonu
Eğer belirli bir aralıkta döngü yapmak istiyorsanız range()
fonksiyonu bu amaç için kullanılabilir. Belirli bir aralıkta sayıları listeleyebilirsiniz. Örneğin 1' den 10' a kadar sayıları listelemek istiyorsanız aşağıdaki kodu kullanabilirsiniz:
for sayi in range (1,11):
print ('gecerli_sayi', sayi)
Bu kodu çalıştırdığınızda aşağıdaki çıktıyı görürsünüz.
gecerli_sayi 1
gecerli_sayi 2
gecerli_sayi 3
gecerli_sayi 4
gecerli_sayi 5
gecerli_sayi 6
gecerli_sayi 7
gecerli_sayi 8
gecerli_sayi 9
gecerli_sayi 10
Gördüğübüz gibi range()
fonksiyonu iki değer alıyor 1 ve 11. Birinci değeri başla, ikinci değeri dur gibi düşünebilirsiniz. Yani Python 1 den başlar ve 11'e gelince durur. 11 dahil olmaz.
break İfadesi
break
kırmak, ara vermek gibi anlamlara gelir. Bu ifade ile döngüyü tamamlanmadan sonlandırabiliriz. Aşağıda bir örnek verelim:
for i in range (1,11):
if i == 7:
break
print ('number', i)
Bu kodu çalıştırdığınızda çıktı aşağıdaki gibi olur:
number 1
number 2
number 3
number 4
number 5
number 6
Yukarıdaki kod bloğunda normal for
ile başlıyoruz. i
değişkeni 1' den başlayarak 10 dahil 10'a kadar artarak gidecek şekilde range()
fonksiyonu kullanılmış. Her döngğüde i
+1 artar. for içinde bir if
koşulu var ve i'nin değerinin 7'e eşit olup olmadığını kontrol ediyor. eğer i' nin değeri 7' ye eşit ise döngü break
ile bitiriliyor. dolayısıyla 7 ve üstü rakamlar hiçbir zaman yazdırılmıyor.
Aşağıda break için bir örnek daha verelim.
country = 'Belçika'
for h in country:
if h == 'ç':
break
print('Geçerli harf :', h)
Yukarıdaki örnekte, yine for
içinde bir if
var. Bu if koşulu sağlandığında yani h
değişkeni ç
harfine eşit olduğunda döngü kırılıyor. Bu nedenle ç
harfi ve sonraki harfler yazdırılmıyor.
Bu kodun çıktısı:
Geçerli harf: B
Geçerli harf: e
Geçerli harf: l
continue ifadesi
Döngüler içinde kullanılan bir diğer ifade de continue
ifadesidir. Bu ifade tüm döngüyü kırmaz ancak o anda yinelenen değeri es geçmek için kullanılabilir. Aşağıda bir örneği inceleyelim:
ulke = ‘Hollanda’
for harf in ulke:
if harf == 'a':
continue
print('Geçerli harf:', harf )
Bu kodu çalıştırdığımızda çıktısı aşağıdaki gibi olur.
Geçerli harf: H
Geçerli harf: o
Geçerli harf: l
Geçerli harf: l
Geçerli harf: n
Geçerli harf: d
'a' harfleri yazdırılmaz. Çünkü yinelenen harf
değişkeni 'a' harfine eşit olduğunda continue
ifadesi ile döngünün o anki değeri es geçilir ve bir sonraki değere devam edilir. Bu nedenle print('Geçerli harf:', harf )
kod satırı harf değişkeni 'a' ya eşit olduğunda çalışmaz.
6.1 while Döngüsü
Python da kullaılan bir başka yineleme yapısı while
döngüsüdür. while
döngüsü doğru bir koşul ile başlar ve verilen koşul yanlış olana kadar kod bloğunu yineler.
while expression:
statement(s)
Buradaki ifade bloğu (statement) tek bir ifade olabileceği gibi, ifadeler bloğu da olabilir. while
ifadesinin hemen yanındaki expression ifadesi doğru olduğu sürece döngü çalışır. Yanlış olduğu anda döngüden çıkılır.

Bir örnek vermek gerekirse:
i=1
while i<=5: print("merhaba izleogrenkodla") i="i+1" < code>=5:>
Yukarıdaki kod bloğunda koşulumuz i
değişkeninin 5 ten küçük ya da 5'e eşit olması. Bu koşul doğru olduğu sürece ekrana Merhaba izleogrenkodla yazdırılacaktır. Ancak kod bloğu içinde her bir tekrarda i
nin değerini +1 artırıyoruz. Bu nedenle i
nin değeri 6'ya ulaşınca döngüden çıkılacaktır.
Yukarıdaki kodun çıktısı:
Merhaba izleogrenkodla
Merhaba izleogrenkodla
Merhaba izleogrenkodla
Merhaba izleogrenkodla
Merhaba izleogrenkodla
Sonsuz döngü
Sonsuz döngü, koşul ifadesinin her zaman doğru olması, hiçbir zaman yanlış olmaması durumunda oluşur. Bu durumda kod döngüden asla çıkamaz.
Aşağıda bir örnek verilmiştir ama bu şekildeki sonsuz döngüleri bilgisayarıınızda çlalıştırmanız tavsiye edilmez.
while true:
print("Durdur beni, durdurabilirsen!")
Bu kod çalıştığında ekrana sürekli print edilen ifadeyi yazdırır ta ki siz onu durdurana kadar. Eğer kodu python da çalıştırdı iseniz CTRL+C
ile çalışmayı durdurabilirsiniz.
else ifadesi
while
döngüsü içinde else
ifadesi kullanılırsa, bu ifade koşul yanlış olduğunda çalışır.
Örneğin:
i = 1
while i<=5: print("python harika!") i+="1" else: print("bye, python!") < code>=5:>
Bu kodu çalıştırdığımızda sonuç:
Python harika!
Python harika!
Python harika!
Python harika!
Python harika!
Bye, Python!
break ifadesi
Bu ifade ile döngüyü istediğimiz anda sonlandırabiliriz. Aşağıdaki örneği inceleyelim:
i = 1
while i<=5: print("python harika!") if i="=" 3: break i+="1" < code>=5:>
Kodumuz i
değişkeni 3'e ulaştığında döngüden çıkarve aşağıdaki sonucu verir. Yani ekrana 5 kere Python harika! yazmaz.
Python harika!
Python harika!
Python harika!
continue ifadesi
Bu ifade ile döngü içindeki o anki tekrarı es geçebiliriz ve bir sonraki ile devam ederiz.
i = 0
while i<=5: i+="1" if i="=" 3: continue print(i, "hey python!") < code>=5:>
Ve çıktı:
1 Hey Python!
2 Hey Python!
4 Hey Python!
5 Hey Python!
6 Hey Python!
Görüldüğü gibi sayılar 3 hariç 1'den 6'ya kadar yazdırıldı. Çünkü döngü esnasında i
değişkeninin değeri 3 olduğunda continue
ifadesi ile o anki tekrarı es geçtik.
7. DATA YAPILARI⌃
Python data yapılarına Python Collections (Kolleksiyon)
da diyebiliriz. Python da temel olarak 4 adet collections
bulunur.
- Diziler (Lists): Nesnelerin index no ile erişilebildiği,
mutable
yani değiştirilebilen sıralı nesneler topluluğudur. Diğer bazı programlama dillerindekiArrays
lere benzerler. - Tuples (Demetler): Aynı Diziler gibidirler anca demetler
immutable
yani değiştirilemezdir. - Sets: Diziler ve Demetlerden farklı olarak sıralı olmaları (ordered) garanti eidlmez ya da mümkün değildir. Setler
mutable
yani değiştirilebilirdir ancak inex yoktur. - Sözlükler (Dictionaries): Sıralı olmayan/olamayan,
mutable
ve index bulunmayan data yapısıdır.
7.1 Diziler (Lists)
Diziler bir veya birden fazla nesne içerebilir ve nesneler aynı ya da farklı veri tipinde olabilir. Diziler köşeli parantez ile gösterilir ve nesneler birbirinden virgül ile ayrılır.
Örnekler inceleyelim:
Sadece string içeren bir dizi
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print(countries)
Bu kodun çıktısı:
['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
Sadece sayısal değerler içeren bir dizi
dogum_yillari= [1985,1986,1988,1989,1999]
print(dogum_yillari)
ve çıktısı:
[1985, 1986, 1988, 1989, 1999]
Karışık veri tipleri içeren bir dizi
aday = [28, 'tall', 1.75, 'programmer', True]
print(aday)
[28, 'tall', 1.75, 'programmer', True]
Yukarıdaki dizide 4 farklı veri tipini görüyoruz: integer (28), string (‘tall’ & ‘programmer’), float (1.75) and True (Boolean)
Dizi içindeki nesnelere index ile erişim
Daha önce string
veri tipinde gördüğümüz gibi dizilerin her bir nesnesine index değeri ile ulaşılabilir. Index değeri soldan sağa 0
dan, sağdan sola ise -1
den başlar.
Yukarıda vermiş olduğumuz ülkeler dizisini ele alalım.

Index kullanımına bir örnek verecek olursak:
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print('I am from', countries[2], 'and I live in', countries[0])
Index'ler köşeli parantez ile kullanılır. Burada countries
dizisinin önce 3. nesnesine (index [2]) daha sonra ise 1. nesnesine (index [0]) ulaşıyoruz.
Yukarıdaki kodu çalıştırdığımızda çıktı:
I am from Turkey and I live in Belgium
Negatif index
Dizi içindeki nesnelere negatif index ile de ulaşabiliriz. Dizinin son nesnesinin index no'su -1
dir. Sağdan sola doğru -1, -2, ... şeklinde devam eder.

Örneğin yukarıdaki ilk örneğimizi negatif index ile verecek olursak:
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print('I am from', countries[-3], 'and I live in', countries[-5])
bu kodun çıktısı yine aynı olacaktır.
I am from Turkey and I live in Belgium
Slice lists
slice
dilimleme anlamına gelir. Bu method ile lists 'lerin istediğimiz kadar aralıkta nesnesine ulaşabiliriz. slice
sonucu da yine bir list' dir. Bu konu en iyi örneklerle anlaşılacağı için hemen birkaçını inceleyelim.
- Belirli bir aralıkta
slice
yaparak başlangıç ve bitiş index'lerini belirtebiliriz.
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print(countries[1:3])
Burada [1:3]
index [1] den başla ve index [3] de dur (3 dahil değil) demektir. Bu kodun çıktısı:
['Indonesia', 'Turkey']
- Belirli bir index'ten başlayıp son elemana kadar (son eleman dahil)
slice
işlemi.
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print(countries[3:])
Bu slice
fonksiyonu ile [3] nolu index den başlayıp (Netherland) son nesne dahil seçmiş oluyoruz. Kodun çıktısı:
['Netherland', 'Japan']
- İlk nesneden başlayıp belirli bir index no' ya kadar
slice
.
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print(countries[:3])
ve sonuç:
['Belgium', 'Indonesia', 'Turkey']
slice
method' u içinde negatif index de kullanabiliriz.
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print(countries[-4:-1])
Bu işlemin sonucu:
['Indonesia', 'Turkey', 'Netherland']
Yukarıdaki örnekte [-4] nolu index'ten başladık ve [-1] nolu index' e kadar ([-1] dahil değil) slice
etmiş olduk.
Sadece tek çift nokta :
kullanmak default (varsayılan) aralık demektir. Ya da başka bir deyişle ilk ve son eleman dahil tüm aralık demektir. Yani tüm list' i seçmiş oluruz ve slice
yapmamış oluruz.
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print(countries[:])
['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
- Slice işlemine step eklemek
slice
method' una ikinci bir çift nokta ::
eklemek step
(adım) anlamına gelir. Yani;
- [1:4:1] 1 nolu index' ten 4 nolu index' e kadar her bir adım (1 step) giderek nesne seç
- [1:4:2] 1 nolu index' ten 4 nolu index' e kadar her ikinci nesneyi (2 steps) seç
- [1:4:] 1 nolu index' ten 4 nolu index' e kadar default (yine 1 step) giderek nesne seç gibi. Aşağıdaki örnekleri inceleyelim.
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
index1Basla_Index4Dur_1Step = countries[1:4:1]
index1Basla_Index4Dur_DafaultStep = countries[1:4:]
index1Basla_Index4Dur_2Steps = countries[1:4:2]
print(index1Basla_Index4Dur_1Step)
print(index1Basla_Index4Dur_DafaultStep)
print(index1Basla_Index4Dur_2Steps)
ve bu kodun çıktısı:
['Indonesia', 'Turkey', 'Netherland']
['Indonesia', 'Turkey', 'Netherland']
['Indonesia', 'Netherland']
gördüğünüz gibi step
2 kullandığımız zaman Python 1' inci indexdeki değer olan Indonesia
yı aldı, 2 adım gittiö Turkey
i es geçti ve 3' üncü index olan Nederland
ı aldı.
Eğer bir list' in elemanlarını tersine çevirebiliriz. Aşağıdaki örneği inceleyelim:
countries= ['Belgium', 'Indonesia', 'Turkey', 'Netherland', 'Japan']
print(countries[::-1])
Buradaki [::-1] ifadesine bakalım. İlk çift nokta artık noktabildiğiniz gibi range (aralık). Yani ilk elemandan başla, son elemana kadar al demek ki bu da tüm list demek. İkinci çift nokta ise belirttiğimiz gibi step (adım). -1 demek sondan başlayarak bir adım gel demek.
bu kodun çıktısı ise:
['Japan', 'Netherland', 'Turkey', 'Indonesia', 'Belgium']