Samdomanld
Baron
Python Nedir?
Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir. Ortaya çıkaran kişi ise Guido van Rossum'dur. Python ismi bilinenin aksine piton yılanından değil ortaya çıkaran kişi olan Rossum'un çok sevdiği Monty Python adlı bir komedi grubundan gelmektedir.
-Wikipedia
Başlangıç
Python Linux işletim sistemlerine hazır olarak gelmektedir. Windows kullananlar ise https://www.python.org/downloads/ adresinden son sürüm olan 3.x.x sürümünü indirebilir. Neden 3.x.x sürümü derseniz, güncel sürüm olması yeterli bir cevap olacaktır.
Linux kullananlar işletim sistemlerine göre not defterini açıp üst kısma #!/usr/bin/env python yazarak başlayabilirler. Windows kullanıcıları da not defteri oluşturup dosya>farklı kaydet yaparak isim.py şeklinde kaydedebilir.
Artık program yazmaya hazırız. Programlama geleneğini bozmayalım ve ekrana "Merhaba Dünya" çıktısı veren bir program yazalım.
Code:
print("Merhaba Dünya!")
"print" Fonksiyonu
Üst kısımda print fonksiyonunu kullanarak ekrana "Merhaba Dünya!" çıktısını veren bir program yazmıştık. Fakat print sadece print("ekrana yazılacak yazı") şeklinde kullanılmaz. Örnek olarak:
aynı şeylerdir. Sonuncusunun farkı, birden fazla satıra yazı yazabiliyor olmasıdır. Mesela:
Çalıştırdığımızda şöyle bir çıktı alacağız.
"print" Hakkında Ek Bilgiler
print fonksiyonunu kullanırken dikkat edilmesi gereken bazı durumlar vardır. Örnek olarak şöyle bir yazı yazdık diyelim:
Bu kodu çalıştırdığımızda SyntaxError: invalid syntax diye bir hata alıyoruz. Nedeni ise tırnak içinde tırnak kullanmak. Peki bir şeyi vurgulamak için tırnak kullanamayacak mıyız? Tabi ki kullanacağız. Aşağıdaki kodu bir inceleyelim:
Gördüğünüz gibi tek tırnağı bile slash işaretiyle ayırdık. Bu işaret önündeki sembolün işlevini yitirtir ve işlevsiz bir yazı olarak ekrana yazdırır. Daha iyi anlamak için bir örnek daha yapalım.
Gördüğünüz gibi her zaman özel işaretin bir önüne koyuyoruz slash işaretini. Tabi ki tek çözüm bu değil. Ayrıca şöyle yazarak da sorunumuzu halledebiliriz.
Önemli olan başlangıçta kullandığımız işaretin cümle içinde tekrar etmemesi. Ayrıca bir nokta dikkatinizi çekmiş olmalı. İki tane \\ işaretini kullandık. Demiştik ya slash önündeki elemanın işlevini yitirtir. İşte bu yüzden tek slash koyduğumuzda ekrana herhangi bir çıktı vermez. Fakat iki slash koyduğumuzda birisi kaybolur ve önündeki ekrana yazılır.
Code:
print("Merhaba Dünya!")
print("Merhaba Dünya!")
print('Merhaba Dünya!')
print("""Merhaba
Dünya!""")
Code:
print("""
Python
1- print fonksiyonu ekrana çıktı verir.
2- print birden fazla şekilde kullanılabilir.
3- üçlü tırnak içine yazı yazmak bunlardan biridir.
""")
Python
1- print fonksiyonu ekrana çıktı verir.
2- print birden fazla şekilde kullanılabilir.
3- üçlü tırnak içine yazı yazmak bunlardan biridir.
"print" Hakkında Ek Bilgiler
print fonksiyonunu kullanırken dikkat edilmesi gereken bazı durumlar vardır. Örnek olarak şöyle bir yazı yazdık diyelim:
Code:
print("Python'da "print" fonksiyonu ile ekrana çıktı verilir.")
Code:
print("Python\'da \"print\" fonksiyonu ile ekrana çıktı verilir.")
Code:
print('Python\'da \"print\" fonksiyonu ile ekrana çıktı verilir. Buna ek olarak da \'\\' işareti tırnaklar arasındaki sorunu ortadan kaldırır')
Code:
print("""Python'da "print" fonksiyonu ile ekrana çıktı verilir. Buna ek olarak da '\\' işareti tırnaklar arasındaki sorunu ortadan kaldırır""")
"print" Fonksiyonu Devamı
Bir önceki derste print fonksiyonunu kullanarak ekrana string yani metinsel ifadeler yazdırmıştık. Ama print sadece string yani metinsel ifadeleri yazdırmak ile sınırlı değil. Bu fonksiyonu kullanarak integer yani sayısal işlemler de yapabiliriz.
Örnek:
Nasıl yazdığımıza dikkat edin. Sayıları tırnak işareti içine almadık. Eğer tırnak içine alırsak ekrana olduğu gibi çıktıyı verir. Yani işlem yapmaz. Şunu asla unutmayın ki integer ifadelerde hiç bir şekilde tırnak kullanılmaz. Belki şu an aklıma gelmeyen bir kaç ufak istisna bulunabilir ama siz şimdilik tırnak kullanılmadığını bilin.
Biraz daha örnek yapalım.
Ve önemli bir noktaya değineyim. Eğer üslü sayılar ile işlem yapmak isterseniz çift yıldız (**) kullanacaksınız. Örnek olarak:
İşlemlerde kullanılan işleçler:
Örnek:
Code:
print (1+1)
2
Nasıl yazdığımıza dikkat edin. Sayıları tırnak işareti içine almadık. Eğer tırnak içine alırsak ekrana olduğu gibi çıktıyı verir. Yani işlem yapmaz. Şunu asla unutmayın ki integer ifadelerde hiç bir şekilde tırnak kullanılmaz. Belki şu an aklıma gelmeyen bir kaç ufak istisna bulunabilir ama siz şimdilik tırnak kullanılmadığını bilin.
Biraz daha örnek yapalım.
Code:
print (10/5)
2.5
print (10*5)
50
Ve önemli bir noktaya değineyim. Eğer üslü sayılar ile işlem yapmak isterseniz çift yıldız (**) kullanacaksınız. Örnek olarak:
Code:
print (10**2)
100
print (25**5)
9765625
İşlemlerde kullanılan işleçler:
Code:
+ : toplama
- : çıkartma
* : çarpma
/ : bölme
** : üs alma
% : Bir sayının bölümünden kalan
// : Bir sayının bir sayıya bölümünde ki sonucun tam kısmı
"input" (Python 2.x sürümünde raw_input)
Bir önceki derste "print" fonksiyonunu kullanarak programı çalıştırdığımızda karşımıza çıkacak yazıları yazdırmış ve bir kaç matematiksel işlem yapmıştık. Ancak burada hayati önem taşıyan bir şey eksikti; kullanıcı girdisi. Ne demek istediğimi anlamış veya anlamamış olabilirsiniz. Daha açık olmak için şu kodları yazıp çalıştıralım:
Aman Tanrım! Az önce programımızla kullanıcı girdisini kullanarak bir matematik işlemi yaptık! Eğer programı biraz kurcaladıysanız sadece 1+1'i toplamadığını, diğer tüm matematik işlemlerini de yaptığını görmüşsünüzdür. Sanırım bu örnekle input'un ne işe yaradığını az çok anladınız; Kullanıcıdan bir şey girmesini istiyor. Şimdilik matematik işlemi dışında pek bir işlevi yok gibi görünüyor. Ancak koşullu ifadeler dersine geldiğimizde çok büyük işler yapacağımızı göreceksiniz.
Not: Yukarıdaki kodda matematiksel işlem yaparken sorunla karşılaşırsanız input'u integer'a çevirmeniz gerekiyor. Şimdilik bunun böyle olduğunu bilin. İleride int ve str hakkında detaylı bilgiler ekleyeceğim.
Örnek çevirme:
Code:
girdi = input("'1+1' yaz: ")
print(girdi)
Not: Yukarıdaki kodda matematiksel işlem yaparken sorunla karşılaşırsanız input'u integer'a çevirmeniz gerekiyor. Şimdilik bunun böyle olduğunu bilin. İleride int ve str hakkında detaylı bilgiler ekleyeceğim.
Örnek çevirme:
Code:
girdi = int(input("'1+1' yaz: "))
print(girdi)
Değişkenler
Bir önceki derste kullanıcıdan girdi alarak işlemler yapmıştık. Input kullanırken de eşittir işareti ile birlikte işaretin soluna "girdi" yazmıştık. İşte eşittirin soluna yazdığımız yazıya "değişken" denir. Programlamada hayati önem taşır bu şeyler. Şimdi bir örnek yapalım.
Gördüğünüz gibi. Değişkenlere bazı sayılar atadık ve o değişkenleri kullanarak sayılara ulaştık. Bir nevi sandık gibi düşünebiliriz. Sandığa sayıları doldurduk ve ihtiyac duyduğumuzda sandıktan çıkartıp yerine yerleştirdik.
"Değişken yerine sayıları yazamaz mıydık? Ne gerek var değişkene?"
Tabiki yazabilirdik. Ama bir de şu örneğe bakalım.
Örnekteki gibi değişken içindeki veriyi, sadece değişikeni kullanarak istediğiniz kadar, istediğiniz yerde kullanabilirsiniz. Ancak önemli bir nokta var. Tıpkı integer ifadeler gibi değişikenler kullanılırken de tırnak kullanılmaz. Biraz daha örnek yapalım.
Code:
sayi1 = 10
sayi2 = 10
print(sayi1+sayi2)
20
"Değişken yerine sayıları yazamaz mıydık? Ne gerek var değişkene?"
Tabiki yazabilirdik. Ama bir de şu örneğe bakalım.
Code:
urun1 = "Samsung Galaxy S4"
urun2 = "Iphone 5"
urun3 = "Samsung Lcd Televizyon"
print(urun1,"\n",urun2,"\n",urun3)
print(urun3,"\n",urun2,"\n",urun1)
Samsung Galaxy S4
Iphone 5
Samsung Lcd Televizyon
Samsung Lcd Televizyon
Iphone 5
Samsung Galaxy S4
Code:
girdi = input("Bir şey yaz: ")
print("Girdiğiniz şey: ", girdi)
Girdiğiniz şey: Python
Koşullu İfadeler
Buraya kadar Python hakkında elle tutulur bir şey yapamasak da, güzel bilgiler edindik. Bu derste ise kodlamada hayati önem taşıyan bir şey daha öğreneceğiz; If-Else-Elif.
Nedir bu if-else-elif?
Çoğunuz Türkçe anlamını biliyordur ve en azından kafanızda bir şeyler canlanmıştır. "if" Türkçe'de "eğer" anlamına gelir. "else", "yoksa, değilse" anlamlarına gelir. "elif" ise else if'in kısaltılmış halidir. Yani "eğer değilse" anlamına gelir. Bu kadar İngilizce dersi yeterli sanırım. Şimdi de bu kelimelerin Python'da bir örnek ile ne işe yaradığına bakalım.
Ayrıca bu örnekte # işaretini de gördük. Bu işaret açıklama satırında kullanılıyor. Bu işaretten sonra yazılan hiç bir şey programın çalışmasına bir katkıda bulunmaz. Sadece açık kaynak kodlamada başkalarının o kodda ne yapmak istediğinizi anlaması veya bir kaç hafta sonra kendi yazdığınız kodları açtığınızda ne yapmak istediğinizi hatırlamanız için kullanılır.
Bir de input ile örnek yapalım.
Kullanılabilir operatörler.
Nedir bu if-else-elif?
Çoğunuz Türkçe anlamını biliyordur ve en azından kafanızda bir şeyler canlanmıştır. "if" Türkçe'de "eğer" anlamına gelir. "else", "yoksa, değilse" anlamlarına gelir. "elif" ise else if'in kısaltılmış halidir. Yani "eğer değilse" anlamına gelir. Bu kadar İngilizce dersi yeterli sanırım. Şimdi de bu kelimelerin Python'da bir örnek ile ne işe yaradığına bakalım.
Bu örnekte ekrana "sayımız 5'e eşit!" çıktısını verecek. Eğer değişkendeki 5 değerini farklı bir şey yaparsak 5'e eşit değil çıktısını alacağız. Yazdığımız kodlara dikkat edin. "Eşit" olayını çift eşittir(==) kullanarak yaptık. Bunun nedeni tek eşittirin farklı bir anlamı olması(değişkenler vb.) Ayrıca koşulumuzdan sonra da iki nokta( kullandık. Bu değişmez bir kuraldır. Her zaman koşuldan sonra iki nokta kullanılır. Son olarak da koşulumuz sağlanırsa programımızın yapacağı şeyi belirledik. Bunda da içeri doğru dört adet girdi(boşluk) kullandık. Eğer boşluk bırakmazsanız programınız hata verir. Bu da kurallarımızdan birisidir. Sanırım kafanızda bir şeyler şekillenmiştir.sayi1 = 5 #öncelikle değişken atadık.
if sayi1 == 5: #Eğer sayımız 5'e eşitse...
print("Sayımız 5'e eşit!") #... ekrana bu yazıyı bas.
else: #değilse...
print("Sayımız 5'e eşit değil!") #... ekrana bu yazıyı bas.
Ayrıca bu örnekte # işaretini de gördük. Bu işaret açıklama satırında kullanılıyor. Bu işaretten sonra yazılan hiç bir şey programın çalışmasına bir katkıda bulunmaz. Sadece açık kaynak kodlamada başkalarının o kodda ne yapmak istediğinizi anlaması veya bir kaç hafta sonra kendi yazdığınız kodları açtığınızda ne yapmak istediğinizi hatırlamanız için kullanılır.
Bir de input ile örnek yapalım.
Program sizden bir sayı girmenizi istiyor ve sayıya göre bunun 10'dan büyük veya küçük olduğunu buluyor. Bu konuda biraz pratik yaparak konuyu çok daha iyi anlayabilirsiniz.girdi = input("Sayı gir: ")
if girdi < 10:
print("Girdiğiniz değer 10'dan küçük!")
elif girdi > 10:
print("Girdiğiniz değer 10'dan büyük!")
Kullanılabilir operatörler.
Code:
== : eşittir
!= : eşit değildir
> : büyüktür
< : küçüktür
>= : büyük eşittir
<= : küçük eşittir
Koşullu İfade Örnekleri
Bu yazıda bir önceki derste öğrendiğimiz koşullu ifadeler konusuyla ilgili örnekler paylaşacağım. Mantığı çok basit, sadece tam olarak anlamayanların da olabileceği için biraz yardım etmek istedim.
Örnek 1: Sayı Tahmini
Yaptığımız şey en başta(2. satır) bir değişkene bizden istenen sayıyı atadık. Daha sonra(3. satır) kullanıcıdan bir sayıyı tahmin etmesini istedik. Bunlardan sonra da kullanıcının girdiği sayının bizim istediğimizle aynı olup olmamasını sorguladık. (satır 5- Kullandığımız işlece dikkat edin. Değilse "!=" işleci. Bunu eğer sayımız 6'ya eşitse(==) yazarak da yapabilirdik. Tamamen size kalmış bir durum.
Sayımız 6 değilse ekrana yanlış olduğuyla ilgili bir yazı yaz. Üstteki koşul sağlanmıyorsa(7. satır) yani sayımız 6 dışında başka bir sayı değilse o zaman altıdır. Mantık bu. Ayrıca siz biraz daha geliştirip sayı altıdan büyükse "Biraz in," altıdan küçük "Biraz çık," tarzında da yapabilirsiniz.
Örnek 2: Kullanıcı Girişi
Örnek 1: Sayı Tahmini
Açıklama: Öncelikle çok kullanışsız ve her tahmin için yeniden çalıştırmamız gereken bir program oldu bu. Şimdilik buna takılmayın ve sadece koşullu ifadeleri öğrenmeye odaklanın. İleride döngü ve bazı fonksiyonları kullanarak programın kullanıcı istemeden kapanmamasını ve bilgisayarın tuttuğu sayının rastgele seçilmesini sağlayan bir program haline getireceğiz.print("-Sayi Tahmin Oyunu-")
sayi = 6
tahmin = input("Tahmininiz: ")
if(tahmin != 6):
print("Girdiginiz sayi dogru degil!")
else:
print("Bildiniz! Sayi: "+tahmin)
Yaptığımız şey en başta(2. satır) bir değişkene bizden istenen sayıyı atadık. Daha sonra(3. satır) kullanıcıdan bir sayıyı tahmin etmesini istedik. Bunlardan sonra da kullanıcının girdiği sayının bizim istediğimizle aynı olup olmamasını sorguladık. (satır 5- Kullandığımız işlece dikkat edin. Değilse "!=" işleci. Bunu eğer sayımız 6'ya eşitse(==) yazarak da yapabilirdik. Tamamen size kalmış bir durum.
Sayımız 6 değilse ekrana yanlış olduğuyla ilgili bir yazı yaz. Üstteki koşul sağlanmıyorsa(7. satır) yani sayımız 6 dışında başka bir sayı değilse o zaman altıdır. Mantık bu. Ayrıca siz biraz daha geliştirip sayı altıdan büyükse "Biraz in," altıdan küçük "Biraz çık," tarzında da yapabilirsiniz.
Örnek 2: Kullanıcı Girişi
Açıklama: Kodları inceleyerek anlayabilirsiniz ancak ben yine de yardım edeyim. Bu programda veri tabanı kullanmadığımız ve sadece örnek olması için yazdığımızdan dolayı kullanıcı adı ve şifreyi program içinde bir değişken olarak atadık. Daha sonra kullanıcıdan giriş yapmasını istedik. Girdiği bilgilere göre karşılaştırmalar yaparak istediğimiz giriş bilgilerini elde ettik.print("-Sisteme Giris-")
kullanici_adi = "Stortbeck"
sifre = "123456"
k_adi = raw_input("Kullanici Adi: ")
k_sifresi = raw_input("Sifre: ")
if(k_adi != kullanici_adi and k_sifresi == sifre):
print("Kullanici adiniz hatali!")
elif(k_sifresi != sifre and k_adi == kullanici_adi):
print("Sifreniz hatali!")
elif(k_adi != kullanici_adi and k_sifresi != sifre):
print("Kullanici adi ve sifre hatali!")
else:
print("Hos geldin, "+k_adi)
Devamı gelecek...