If sözü İngilizcede eğer anlamına geliyor. Dolayısıyla, adından da anlaşılabileceği gibi, bu deyim yardımıyla Pythonda koşula bağlı bir durumu belirtebiliyoruz. Cümle yapısını anlayabilmek için bir örnek verelim:
Bunun anlamı şudur:
Biraz daha açarak söylemek gerekirse:
Bu arada, kod içindeki == (çift eşittir) işaretini birbirine bitişik olarak yazmamız gerekir. Yani bu çift eşittir işaretini ayrı yazmamaya özen göstermeliyiz. Aksi halde yazdığımız program hata verecektir.
Gördüğünüz gibi cümlemiz şu anda yarım. Yani belli ki bunun bir de devamı olması gerekiyor. Mesela cümlemizi şöyle tamamlayabiliriz:
Yukarıda yazdığımız kod şu anlama geliyor: Eğer a değişkeninin değeri b değişkeninin değeriyle aynı ise, ekrana a ile b birbirine eşittir, diye bir cümle yazdır.
Cümlemiz artık tamamlanmış da olsa, tabii ki programımız hâlâ eksik. Bir defa, henüz elimizde tanımlanmış birer a ve b değişkeni yok. Zaten bu kodları bu haliyle çalıştırmaya kalkışırsanız Python size, a ve b değişkenlerinin tanımlanmadığını söyleyen bir hata mesajı gösterecektir.
Biraz sonra bu yarım yamalak kodu eksiksiz bir hale nasıl getireceğimizi göreceğiz. Ama şimdi burada bir parantez açalım ve Pythonda girintileme işleminden ve kodların içine nasıl açıklama ekleneceğinden bahsedelim kısaca.
Öncelikle girintilemeden bahsedelim. Çünkü bundan sonra girintilerle bol bol haşır neşir olacaksınız.
Dikkat ettiyseniz yukarıda yazdığımız yarım kod içinde print ile başlayan ifade, if ile başlayan ifadeye göre daha içeride. Bu durum, print ile başlayan ifadenin, if ile başlayan ifadeye ait bir alt-ifade olduğunu gösteriyor. Eğer metin düzenleyici olarak Kwrite kullanıyorsanız, if a == b: yazıp ENTER tuşuna bastıktan sonra Kwrite sizin için bu girintileme işlemini kendiliğinden yapacak, imleci print a ile b birbirine eşittir komutunu yazmanız gereken yere getirecektir. Ama eğer bu girintileme işlemini elle yapmanız gerekirse genel kural olarak klavyedeki TAB tuşuna bir kez veya SPACE tuşuna dört kez basmalısınız.
Ancak bu kuralı uygularken TAB veya SPACE tuşlarına basma seçeneklerinden yalnızca birini uygulayın. Yani bir yerde TAB tuşuna başka yerde SPACE tuşuna basıp Pythonun kafasının karışmasına yol açmayın. Pythondaki girintileme sistemi konusuna biraz sonra tekrar döneceğiz. Ama şimdi bunu bir kenara bırakıp Pythonda kodlar içine nasıl açıklama/yorum eklenir, biraz da bundan bahsedelim:
Diyelim ki, içerisinde satırlar dolusu kod barındıran bir program yazdık ve bu programımızı başkalarının da kullanabilmesi için internet üzerinden dağıtacağız. Bizim yazdığımız programı kullanacak kişiler, kullanmadan önce kodları incelemek istiyor olabilirler. İşte bizim de, kodlarımızı incelemek isteyen kişilere yardımcı olmak maksadıyla, programımızın içine neyin ne işe yaradığını açıklayan bazı notlar eklememiz en azından nezaket gereğidir. Başkalarını bir kenara bırakalım, bu açıklayıcı notlar sizin de işinize yarayabilir. Aylar önce yazmaya başladığınız bir programa aylar sonra geri dönmek istediğinizde, Acaba ben burada ne yapmaya çalışmışım? demenizi de engelleyebilir bu açıklayıcı notlar.
Peki, programımıza bu açıklayıcı notları nasıl ekleyeceğiz?
Kuralımız şu: Pythonda kod içine açıklayıcı notlar eklemek için # işaretini kullanıyoruz.
Hemen bir örnek verelim:
Sizin daha mantıklı açıklamalar yazacağınızı ümit ederek konumuza geri dönüyoruz...
Şimdi yukarıda verdiğimiz yarım programı tamamlamaya çalışalım. Hemen boş bir metin belgesi açıp içine şunları yazıyoruz:
Bunlar zaten ilk etapta yazmamız gereken kodlardı. Devam ediyoruz:
Yukarıda a ve b adında iki tane değişken tanımladık. Bu iki değişkenin de değeri 23.
Programımızı yazmaya devam edelim:
Bu şekilde programımızı tamamlamış olduk. Bu programın pek önemli bir iş yaptığı söylenemez. Yaptığı tek şey, a ile b değişkenlerinin değerine bakıp, eğer bunlar birbirleriyle aynıysa ekrana a ile b birbirine eşittir diye bir çıktı vermektir. Ama bu program ahım şahım bir şey olmasa da, en azından bize if deyiminin nasıl kullanılacağı hakkında önemli bir fikir verdi. Artık bilgilerimizi bu programın bize sağladığı temel üzerine inşa etmeye devam edebiliriz. Her zamanki gibi boş bir Kwrite (veya Gedit ya da IDLE) belgesi açıyoruz ve içine şunları yazıyoruz:
Gördüğünüz gibi, burada öncelikle parola adlı bir değişken oluşturduk. (Bu arada değişkenlere ad verirken Türkçe karakter kullanmamalısınız.) Bu parola adlı değişkenin değeri, kullanıcının girmesi gereken parolanın kendisi oluyor. Ardından cevap adlı başka bir değişken daha tanımlayıp raw_input() fonksiyonunu bu değişkene atadık. Daha sonra da if deyimi yardımıyla, Eğer cevap değişkeninin değeri parola değişkeninin değeriyle aynı ise ekrana Parola onaylandı! Programa hoş geldiniz! yazdır, dedik. Bu programı çalıştırdığımızda, eğer kullanıcının girdiği kelime python ise parola onaylanacaktır. Yok, eğer kullanıcı başka bir kelime yazarsa, program derhal kapanacaktır. Aynı programı şu şekilde kısaltarak da yazabiliriz:
Burada raw_input() fonksiyonunun değerini doğrudan parola adlı değişkene atıyoruz. Hemen alttaki satırda ise girilmesi gereken parolanın ne olduğunu şu şekilde ifade ediyoruz:
Kod:
>>> if a == b:
Bunun anlamı şudur:
Kod:
"eğer a ile b birbirine eşit ise..."
Biraz daha açarak söylemek gerekirse:
Kod:
"eğer a değişkeninin değeri b değişkeninin değeriyle aynı ise..."
Bu arada, kod içindeki == (çift eşittir) işaretini birbirine bitişik olarak yazmamız gerekir. Yani bu çift eşittir işaretini ayrı yazmamaya özen göstermeliyiz. Aksi halde yazdığımız program hata verecektir.
Gördüğünüz gibi cümlemiz şu anda yarım. Yani belli ki bunun bir de devamı olması gerekiyor. Mesela cümlemizi şöyle tamamlayabiliriz:
Kod:
>>> if a == b: ... print "a ile b birbirine eşittir"
Yukarıda yazdığımız kod şu anlama geliyor: Eğer a değişkeninin değeri b değişkeninin değeriyle aynı ise, ekrana a ile b birbirine eşittir, diye bir cümle yazdır.
Cümlemiz artık tamamlanmış da olsa, tabii ki programımız hâlâ eksik. Bir defa, henüz elimizde tanımlanmış birer a ve b değişkeni yok. Zaten bu kodları bu haliyle çalıştırmaya kalkışırsanız Python size, a ve b değişkenlerinin tanımlanmadığını söyleyen bir hata mesajı gösterecektir.
Biraz sonra bu yarım yamalak kodu eksiksiz bir hale nasıl getireceğimizi göreceğiz. Ama şimdi burada bir parantez açalım ve Pythonda girintileme işleminden ve kodların içine nasıl açıklama ekleneceğinden bahsedelim kısaca.
Öncelikle girintilemeden bahsedelim. Çünkü bundan sonra girintilerle bol bol haşır neşir olacaksınız.
Dikkat ettiyseniz yukarıda yazdığımız yarım kod içinde print ile başlayan ifade, if ile başlayan ifadeye göre daha içeride. Bu durum, print ile başlayan ifadenin, if ile başlayan ifadeye ait bir alt-ifade olduğunu gösteriyor. Eğer metin düzenleyici olarak Kwrite kullanıyorsanız, if a == b: yazıp ENTER tuşuna bastıktan sonra Kwrite sizin için bu girintileme işlemini kendiliğinden yapacak, imleci print a ile b birbirine eşittir komutunu yazmanız gereken yere getirecektir. Ama eğer bu girintileme işlemini elle yapmanız gerekirse genel kural olarak klavyedeki TAB tuşuna bir kez veya SPACE tuşuna dört kez basmalısınız.
Ancak bu kuralı uygularken TAB veya SPACE tuşlarına basma seçeneklerinden yalnızca birini uygulayın. Yani bir yerde TAB tuşuna başka yerde SPACE tuşuna basıp Pythonun kafasının karışmasına yol açmayın. Pythondaki girintileme sistemi konusuna biraz sonra tekrar döneceğiz. Ama şimdi bunu bir kenara bırakıp Pythonda kodlar içine nasıl açıklama/yorum eklenir, biraz da bundan bahsedelim:
Diyelim ki, içerisinde satırlar dolusu kod barındıran bir program yazdık ve bu programımızı başkalarının da kullanabilmesi için internet üzerinden dağıtacağız. Bizim yazdığımız programı kullanacak kişiler, kullanmadan önce kodları incelemek istiyor olabilirler. İşte bizim de, kodlarımızı incelemek isteyen kişilere yardımcı olmak maksadıyla, programımızın içine neyin ne işe yaradığını açıklayan bazı notlar eklememiz en azından nezaket gereğidir. Başkalarını bir kenara bırakalım, bu açıklayıcı notlar sizin de işinize yarayabilir. Aylar önce yazmaya başladığınız bir programa aylar sonra geri dönmek istediğinizde, Acaba ben burada ne yapmaya çalışmışım? demenizi de engelleyebilir bu açıklayıcı notlar.
Peki, programımıza bu açıklayıcı notları nasıl ekleyeceğiz?
Kuralımız şu: Pythonda kod içine açıklayıcı notlar eklemek için # işaretini kullanıyoruz.
Hemen bir örnek verelim:
Kod:
print "deneme 1, 2, 3" #deneme yapıyoruz...
Sizin daha mantıklı açıklamalar yazacağınızı ümit ederek konumuza geri dönüyoruz...
Şimdi yukarıda verdiğimiz yarım programı tamamlamaya çalışalım. Hemen boş bir metin belgesi açıp içine şunları yazıyoruz:
Kod:
#!/usr/bin/env python # -*- coding: utf-8 -*-
Bunlar zaten ilk etapta yazmamız gereken kodlardı. Devam ediyoruz:
Kod:
#!/usr/bin/env python # -*- coding: utf-8 -*- a = 23 b = 23
Yukarıda a ve b adında iki tane değişken tanımladık. Bu iki değişkenin de değeri 23.
Programımızı yazmaya devam edelim:
Kod:
#!/usr/bin/env python # -*- coding: utf-8 -*- a = 23 b = 23 if a == b: print "a ile b birbirine eşittir."
Bu şekilde programımızı tamamlamış olduk. Bu programın pek önemli bir iş yaptığı söylenemez. Yaptığı tek şey, a ile b değişkenlerinin değerine bakıp, eğer bunlar birbirleriyle aynıysa ekrana a ile b birbirine eşittir diye bir çıktı vermektir. Ama bu program ahım şahım bir şey olmasa da, en azından bize if deyiminin nasıl kullanılacağı hakkında önemli bir fikir verdi. Artık bilgilerimizi bu programın bize sağladığı temel üzerine inşa etmeye devam edebiliriz. Her zamanki gibi boş bir Kwrite (veya Gedit ya da IDLE) belgesi açıyoruz ve içine şunları yazıyoruz:
Kod:
#!/usr/bin/env python # -*- coding: utf-8 -*- parola = "python" cevap = raw_input("Lütfen parolanızı giriniz: ") if cevap == parola: print "Parola onaylandı! Programa hoş geldiniz!"
Gördüğünüz gibi, burada öncelikle parola adlı bir değişken oluşturduk. (Bu arada değişkenlere ad verirken Türkçe karakter kullanmamalısınız.) Bu parola adlı değişkenin değeri, kullanıcının girmesi gereken parolanın kendisi oluyor. Ardından cevap adlı başka bir değişken daha tanımlayıp raw_input() fonksiyonunu bu değişkene atadık. Daha sonra da if deyimi yardımıyla, Eğer cevap değişkeninin değeri parola değişkeninin değeriyle aynı ise ekrana Parola onaylandı! Programa hoş geldiniz! yazdır, dedik. Bu programı çalıştırdığımızda, eğer kullanıcının girdiği kelime python ise parola onaylanacaktır. Yok, eğer kullanıcı başka bir kelime yazarsa, program derhal kapanacaktır. Aynı programı şu şekilde kısaltarak da yazabiliriz:
Kod:
#!/usr/bin/env python # -*- coding: utf-8 -*- parola = raw_input("Lütfen parolanızı giriniz: ") if parola == "python": print "Parola onaylandı! Programa hoş geldiniz!"
Burada raw_input() fonksiyonunun değerini doğrudan parola adlı değişkene atıyoruz. Hemen alttaki satırda ise girilmesi gereken parolanın ne olduğunu şu şekilde ifade ediyoruz:
Kod:
"Eğer parola python ise ekrana 'Parola onaylandı! Programa hoş geldiniz!' yazdır."
