Bu dosyada başlangıç düzeyinde python3 öğreneceğiz.
- Dipnot: Python'da boşluklar ve "TAB"'lar çok önemlidir bir fazla veya bir eksik koymanız hatalara sebep olabilir.
- Dipnot: Kodlardaki ">>>" ve "..." işaretleri python shell'den temsilidir.
İçindekiler(Contents)
Pythonda yorum satırı olarak yani koda etki etmeyecek yazılar eklenmek istediği zaman yorum kısmı tek satırsa veya bir satırın devamıysa "#", eğer birden fazla satır kullanacaksanız yorumun başına ve sonuna üç tane tırnak koymanız gerekiyor. '''çok satırlı yorum'''
(▲) print()
Bu kod, içine yazılan kelimenin veya değişkenin çıktısını ekrana basar..
- r : Kaçış dizilerini geçersiz kılar
- f : f-string'lerde kullanılır. Örnek kullanım:
>>> print("selam")
selam
>>> print(123)
123
>>> print(7.2)
7.2
>>> print(r"C:\Users\Can\newfile")
C:\Users\Can\newfile
(▲) a = "b"
Yukarıdaki gibi kullanım, bir değişken oluşturmamızı sağlar. Örnek kullanım:
>>> yazi = "selam" # Bu bir stringtir, string (" ") veya (' ') veya (""" """") işaretleri içinde olan ve değişkenlere atanabilen bir değerdir. a = str() veya a = "" boş string oluşturur.
>>> sayi = 123 # Bu bir integerdir, yani sayıdır. b = int() bize sıfır döndürecektir.
>>> noktali = 7.8 # Bu bir floattır, yani ondalıklı sayıdır. Floatta virgül kullanamazsınız. c = float() bize 0.0 döndürecektir
>>> liste = ["a", 123, 7.8] # Listenin içine her türden değişkeni ekleyebilirsiniz. Boş bir listeyi liste = list() veya liste = [] şeklinde açabilirsiniz.
>>> demet = ("ali", "veli") # Demetlerin olayı belirli kelimeleri aynı liste gibi toplamasıdır. Listelerden farkı değer eklendikten sonra geri silinemez.
>>> sozluk = {"a" : "b", "c" : "d"} # Sözlüklerin olayı bir anahtar(key) ve değer(value) ile çalışmasıdır. Boş bir sözlüğü sozluk = dict() veya sozluk = {} şeklinde açabilirsiniz.
>>> dogruluk = True # veya dogruluk = False, bunlar yerine False için dogruluk = 0 True için dogruluk = 1 yapabilirsiniz. False bir doğruluk değeri oluşturmak için dogruluk = bool() da kullanabilirsiniz.
>>>
>>> print(yazi)
selam
>>> print(sayi)
123
>>> print(noktali)
7.8
>>> print(liste)
["a", 123, 7.8]
>>> print(demet)
('ali', 'veli')
>>> print(sozluk)
{'a': 'b', 'c': 'd'}
(▲) Bazı Kaçış Dizileri
- \ : Kendisinden sonraki karakteri geçersiz kılar.
- \n : Alt satıra geçiş
- \t : Sekme (Tab tuşu)
(▲) input()
Bu komut, kullanıcıdan bilgi toplamaya yarar. Örnek kullanım:
>>> kullanıcıadı = input("Adın nedir?: ")
Adın nedir?: Can
>>> print("Merhaba", kullanıcıadı, "tanıştığıma memnun oldum.")
Merhaba Can tanıştığıma memnun oldum.
(▲) format()
Bu metot, belirli bir yazı içerisinde belirli noktalara belirli karakterler yerleştirmeye yarar. Örnek kullanım:
>>> kladi = input("Adın nedir?: ")
Adın nedir?: Can
>>> print("Merhaba {}, tanıştığımıza memnun oldum.".format(kladi))
Merhaba Can, tanıştığımıza memnun oldum.
>>>
>>> sayı1 = 10
>>> sayı2 = 20
>>> print("{} ve {} sayılarının toplamı: {}".format(sayı1, sayı2, sayı1 + sayı2))
10 ve 20 sayılarının toplamı: 30
(▲) f-String
f-String metodu, tıpkı format metodunda olduğu gibi belirli noktalara belirli karakterler yerleştirmeye yarar. Format'tan daha pratik görünen bir kullanımı vardır. Örnek Kullanım:
>>> kladi = input("Adın nedir?: ")
Adın nedir?: Can
>>> print(f"Merhaba {kladi}, tanıştığımıza memnun oldum.")
(▲) Bazı işleçler
- + | - | * | / : Toplama, çıkarma, çarpma, bölme
- a**b : a'nın b üssünü alma (2³ gibi)
- a % b : a'nın b ile bölümünden kalan sayı
- // : Kalansız bölme
- += | -= | *= | /= : İstenilen işlemi yapar ve değişkene uygular
(▲) Koşullar (if-elif-else)
if elif ve else kodları, belli bir durumları karşılayan durumlarda kod çalıştrımak için kullanılır.
- Not: if elif ve else'dan sonraki satırlarda mutlaka "TAB" atılması gerekir.
- Not: if elif ve else'dan sonra : kullanılır.
Operatörler:
<
: Küçüktür.>
: Büyüktür.==
: Eşittir.<=
: Küçük eşittir.>=
: Büyük eşittir. Örnek kullanım:and
: Koşulların hepsi sağlanırsa çalıştıror
: Koşulların biri sağlanırsa çalıştır
>>> sayi = int(input("Sayı girin: ")) # 15 girmiş olalım
>>> if sayi == 0: # Sayı sıfıra eşitse
... print("Sayı sıfırdır.") # Bunu yaz
... elif 0 < sayi and sayi < 20 : # Eğer sayı 0'dan büyük "VE" 20'den küçükse
... print("Sayı 0 ile 20 arasında.") # Bunu yaz
... elif -20 < sayi < 0 : # Eğer sayı 0'dan küçük "YA DA" -20'den büyükse
... print("Sayı -20 ile 0 arasında.") # Bunu yaz
...
Sayı 0 ile 20 arasında.
(▲) Döngüler
Range fonksiyonu, kendisine verilecek olan parametreler içinde sayı saymaya yarar. Örnek kullanım:
>>> print(*range(0, 11, 2)) # 1'den 11'e kadar ikişer say.
0 2 4 6 8 10
- pass deyimi : Pas geçmek.
- break deyimi : Döngüyü kırmak.
- continue deyimi: Devam etmek.
(▲) While
Bu metod, kendisine verilecek olan koşulun doğru olup olmamasına dikkat eden ve koşul doğru ise kendisine verilen komutun sürekli çalışmasını sağlar. (koşul ... olduğu sürece çalış)
- Not: while'dan sonraki satırlarda mutlaka "TAB" atılması gerekir.
- Not: while'dan sonra : kullanılır.
- Not: Kodun sürekli çalışmasını isterseniz True veya 1 koşulunu kullanabilirsiniz.
- Not: Döngüyü kırmak için CTRL+C kullanabilirsiniz.
>>> while True:
... print("Merhaba")
...
[Sonsuz kez] Merhaba
>>> x = 101
>>> while 100 < x < 110:
... print("Merhaba")
... x += 1
...
[9 kere] Merhaba
(▲) For
Bu metod, kendisine verilecek olan çoklu değerleri tek tek kullanmaya yardım eder.
- Not: for'dan sonraki satırlarda mutlaka "TAB" atılması gerekir.
- Not: for'dan sonra : kullanılır.
>>> for a in range(1, 10):
... print(f"{a}.kez merhaba!!!")
...
1.kez merhaba!!!
2.kez merhaba!!!
...
10.kez merhaba!!!
(▲) Hata kontrolü (try-except-else-finally)
- Not: try except else ve finally'den sonraki satırlarda mutlaka "TAB" atılması gerekir.
- Not: try except else ve finally'den sonra : kullanılır.
try: # altımdaki kodu çalıştırmayı dene.
except: # eğer sorun çıkarsa altımdaki kodu çalıştır.
else: # eğer sorun çıkmazsa altımdaki kodu çalıştır
finally: # olsa da olmasa da beni çalıştır
>>> while True:
... try:
... s1 = int(input("İlk sayıyı girin: "))
... s2 = int(input("İkinci sayıyı girin: "))
... except ValueError:
... print("Sayı girmediğiniz için işlem yapamıyorum :(")
... else:
... print(f"{s1} ve {s2} sayılarının toplamı {s1+s2} yapar.")
... finally:
... print("Başka yapmak istediğiniz işlem var mı?")
print("Yoksa CTRL+C'ye basarak beni kapatabilirsiniz.")
(▲) replace()
replace metodu, kendisine verilecek parametreler ile belirli bir değişken değerini değiştirmeye yarar. Örnek kullanım:
>>> deger = "Beyaz Şapkalı Tornacı"
>>> deger.replace("Şapkalı", "Takkeli")
'Beyaz Takkeli Tornacı'
(▲) split()
split metodu, soldan başlayarak kendisine verilen string ve sayıya göre ayırma işlemi yapar. Aynı işlemi sağdan başlatmak isterseniz rsplit() kullanabilirsiniz. Bu işlemler sonucu çıktılar liste olarak geri verilir. Örnek kullanım:
>>> deger = "Beyaz Takkeli Tornacı"
>>> deger.split(" ")
'['Beyaz', 'Takkeli', 'Tornacı']'
>>>
>>> deger.split(" ", 1)
'['Beyaz', 'Takkeli Tornacı']'
(▲) lower() | upper()
Bu iki metod, değişkendeki harflerin hepsini büyütür veya küçültür. Örnek kullanım:
>>> deger = input("İsim girin: ")
İsim girin: CAN
>>>
>>> deger = deger.lower()
>>> print(f"İsminin harflerini küçülttüm. Bak: {deger}")
>>>
>>> deger = deger.upper()
>>> print(f"Şimdide harflerini tekrardan büyüttüm. Bak: {deger}")
(▲) swapcase()
Bu metod ise harflerin boyutunu tersine çevirir. Örnek kullanım:
>>> deger = "DiScOvEr02"
>>> deger.swapcase()
'dIsCoVeR02'
(▲) title()
Bu metod belirli bir karakter dizisindeki her kelimenin ilk harfini büyütür. Örnek kullanım:
>>> deger = "beyaz takkeli tornacı"
>>> deger.title()
'Beyaz Takkeli Tornacı'
(▲) isalpha | isnumeric | isalnum | isspace | isinstance | startswith | endswith
Bu işleçler adından anlaşılacağı üzere çeşitli kontroller yapar;
- deger.isalpha() : Sadece harflerden mi oluşuyor?
- deger.isnumeric() : Sadece numaradan mı oluşuyor?
- deger.isalnum() : Hem harf, hem numaradan mı oluşuyor?
- deger.isspace() : Sadece boşluktan mı oluşuyor?
- isinstance(deger, int) : "deger" değişkeni "integer"'mi?
- deger.startswith("a") : "deger" değişkeni küçük "a" ile'mi başlıyor?
- deger.endswith("a") : "deger" değişkeni küçük "a" ile'mi bitiyor?
(▲) lstrip() | strip() | rstrip()
Bu fonksiyonlar, kendisine vereceğiniz değerleri kırpar. Değer vermezseniz; lstrip() soldan; rstrip() sağdan; strip() ise değişkenin başındaki ve sonundaki boşlukları kırpar. Örnek kullanım:
>>> deger = " Can Değer\n "
>>> deger.strip()
'Can Değer\n'
>>>
>>> deger.lstrip()
'Can Değer\n '
>>> deger.rstrip('\\n ')
' Can Değer'
(▲) ljust() | center() | rjust()
Bu fonksiyonlar ise içine verilen sayılar kadar alan oluşturur. Ve sırasıyla değişkeni sola, ortaya veya sağa yaslar. Örnek kullanım:
>>> isim = "Discover"
>>> isim.ljust(20)
'Discover '
>>> isim.center(20)
' Discover '
>>> isim.rjust(20)
' Discover'
(▲) index() | rindex() | find() | rfind()
Bu fonksiyonlar, belirli bir değişkenden istenilen harfı bulup sırasını söyler. rindex ve rfind fonksiyonları saymaya sağdan başlarlar. Hepsi hemen hemen aynı işi yaparlar, Tek farkı, index fonksiyonları harfi bulamayınca hata mesajı verir ama find işleci -1 diye çıktı verir. Örnek kullanım:
>>> isim = "discover"
>>> isim.index("d")
0
>>> isim.index("r")
7
>>> isim.index("a")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
>>>
>>> isim.find("d")
0
>>> isim.find("r")
7
>>> isim.find("a")
-1
(▲) zfill()
zfill fonksiyonu, belirli bir karakter dizisinde kendisine verilen sayı kadar alan açıp tanımlanmamış kısımlara "0" doldurur. Örnek kullanım:
>>> isim = "mrN3ONd"
>>> isim.zfill(15)
'00000000mrN3ONd'
(▲) expandtabs()
expandtabs fonksiyonu, uygulandığı değişkenin içinde eğer ki '\t' dizisi varsa onun uzunluğunu belirlemeye yarar. Örnek kullanım:
>>> isim = "Can\tDeğer"
>>> isim.expandtabs(10)
'Can Değer'
(▲) list()
list fonksiyonu, bir değişkene uygulandığında boş bir liste oluşturur.
>>> liste = list()
>>> print(liste)
'[]'
>>>
>>> liste = []
>>> print(liste)
'[]'
- Değer ekleme | append()
>>> liste = ["Can"]
>>> liste += ["Değer"]
>>> print(liste)
'["Can", "Değer"]'
>>>
>>> liste.append("Beyaz Takkeli Tornacı")
>>> print(liste)
'["Can", "Değer", "Beyaz Takkeli Tornacı"]'
- Değer değiştirme
>>> liste = ["Kırmızı", "Turuncu", "Sarı"]
>>> liste[2] = "Mavi"
- Değer silme | pop() | remove()
>>> liste = ["Kırmızı", "Turuncu", "Sarı"]
>>> del liste[0]
>>> print(liste)
'["Turuncu", "Sarı"]'
>>>
>>> liste.pop(1)
>>> print(liste)
'["Turuncu"]'
>>>
>>> liste.remove("Turuncu")
>>> print(liste)
'[]'
(▲) tuple()
Demetler'de aynı listeler gibi belirli değerleri bir arada tutmak için kullanılır. Listelerden farkı ise tek bir kez ayarlanabilir olmasıdır. Ekleme yapıldıktan sonra silme veya değiştirme gibi işlemler uygulanamaz.
>>> demet = ('Beyaz', 'Takkeli')
- Değer eklemek (en sona bir virgül atılması zorunludur, yoksa eklemeye çalıştığınız şey string olarak algılanır.)
>>> demet = ('Beyaz', 'Takkeli')
>>> demet = demet + ('Tornacı',)
>>> print(demet)
('Beyaz', 'Takkeli', 'Tornacı')
(▲) dict()
Sözlükler, aynı gerçek hayattaki sözlükler gibi belirli bir şeyin ne olduğunu tanımlamak için vardır. Mesela "kitap" kelimesinin inglizce karşılığı "book" kelimesidir Bunu şöyle gösterebiliriz.
kitap: book
Bu python'da sözlükleri kullanarak halledilir.
>>> kelimeler = {"kitap": "book"}
- Değer ekleme
>>> kelimeler["kalem"] = "pencil"
>>> print(kelimeler)
{"kitap": "book", "kalem": "pencil"}
- Değer silme
>>> kelimeler.pop("kitap")
>>> print(kelimeler)
{"kalem": "pencil"}
- Anahtarları görmek
>>> kelimeler.keys()
dict_keys(['kitap', 'kalem'])
- Değerleri görmek
>>> kelimeler.values()
dict_values(['book', 'pencil'])
- Anahtar değerini sorgulama (Eğer kelime bulunamazsa hata yaz)
>>> kelimeler.get("kitap", "Hata! Bu kelime bende yok :(")
'book'
(▲) Temel dosya işlemleri
- dosya = open("output.txt", "r") : Dosyayı okuma modunda açar .
- dosya = open("output.txt", "w") : Dosyayı yazma modunda sıfırdan açar.
- dosya = open("output.txt", "a") : Dosyayı yazma modunda açar.
- dosya.read() : Dosyayı okur.
- dosya.readlines() : Dosyayı satır satır okur.
- dosya.readable() : Okunabilir mi?
- dosya.writeable() : Yazılabilir mi?
- dosya.seek(sayı) : Dosyanın "sayı" ile belirtilen bayt'ına gider
- with open("output.txt", "r+") as f: : Dosyayı açar ve f değişkenine atar.
(▲) def()
def() komutu, özel fonksiyonlar ayarlamaya yarar. Örnek kullanım:
>>> def ekranıtemizle():
... __import__("os").system("cls") # Windows
... __import__("os").system("clear") # Linux/Unix
...
>>> ekranıtemizle()
- Fonksiyona argüman desteği getirmek
>>> isim = "Can"
>>> soyisim = "Değer"
>>> meslek = "Beyaz Takkeli Tornacı"
>>> def kisikayit(i1, s1, m1):
... print("-"*35)
... print(f" İsim : {i1}")
... print(f" Soyisim : {s1}")
... print(f" Meslek : {m1}")
... print("-"*35)
...
>>> kisikayit(isim, soyisim, meslek)
-----------------------------------
İsim : Can
Soyisim : Değer
Meslek : Beyaz Takkeli Tornacı
-----------------------------------
(▲) class
class() fonksiyonu'da tıpkı sözlükler "def()" gibidir ancak biraz daha karışık bir yapısı vardır.
>>> class myClass:
... def __init__(self): # bu class'ı kullanmak için myClass'ı bir değişkene atamamız gerekiyor, self ise class içinde erişilebilen değişkenlerdir ve self'i class içindeki her fonksiyona parametre geçmek gerekir.
... self.name = "Can"
... self.surname = "Değer"
... def print(self):
... print(self.name + " " + self.surname)
...
>>> c = myClass()
>>> c.print()
Can Değer
(▲) MODÜLLER
- Modüller import komutuyla kullanılır.
- Modüller hakkında daha fazla bilgiyi modüller belgelerinden okuyabilirsiniz.
- Python ile gelen bazı modüller: os sys socket
Bilgisayarınızda olmayan modülleri windowsta py -m pip install modul_ismi
veya linuxta pip install modul_ismi
şeklinde veya python3 -m pip install modul_ismi
şeklinde indirebilirsiniz.
- Eğer bir modülün içinden belli bir fonksiyonu veya class'ı içeri alacaksanız;
from os import system [[system]] fonksiyonu bilgisayarda komut çalıştırmaya yarar.
Örnek kullanım:
import time
system("dir") # çalıştırdığınız dizindeki bütün öğeleri gösterir. (Windows)
system("ls") # çalıştırdığınız dizindeki bütün öğeleri gösterir. (Linux/Unix)
time.sleep(5) # programın 5 saniye boyunca durmasını sağlar.
Bu sayfada göstereceklerim bu kadardır arkadaşlar, hatalarla karşılaşırsanız çok büyük olasılıkla stackoverflow'da çözümlerini bulabilirsiniz.