print komutunun görevi, ekrana bir şeyler yazdırmamızı sağlamaktır. Mesela bu komutu tek başına kullanmayı deneyelim:
>>> print
yazıp hemen ENTER tuşuna basalım.
Not
Yukarıdaki komutta gördüğümüz >>> işaretini kendimiz yazmayacağız. O işaret, etkileşimli kabuğun görüntüsünü temsil ediyor. Bizim sadece print yazmamız yeterli.
Ne oldu? Python bir satır boşluk bırakarak alt satıra geçti, değil mi? Bunu ona yapmasını biz söyledik, o da yaptı...
Şimdi de boş bir satır bırakmak yerine ekrana bir şeyler yazmasını söyleyelim Python’a:
>>> print "Programa hoşgeldiniz. Lütfen giriş yapın!"
Bu satırı yazıp ENTER tuşuna bastıktan sonra ekranda Programa hoşgeldiniz. Lütfen giriş yapın! çıktısını görmemiz gerekiyor.
Gördüğünüz gibi print komutunun ardından gelen “Programa hoşgeldiniz. Lütfen giriş yapın!” ifadesini çift tırnak içinde belirtiyoruz. Eğer burada çift tırnak işaretini koymazsak veya koymayı unutursak Python bize bir hata çıktısı gösterecektir. Zaten yukarıdaki komutu verdikten sonra bir hata alıyorsanız, çok büyük bir ihtimalle tırnakları düzgün yerleştirmemişsinizdir.
Biz istersek yukarıdaki örnekte çift tırnak yerine tek tırnak (‘) da kullanabiliriz. Tırnak seçiminde özgürüz:
>>> print ’Programa hoşgeldiniz. Lütfen giriş yapın!’
Bu komut da bize istediğimiz çıktıyı başarıyla verecektir. Dediğimiz gibi, kullanacağınız tırnak tipi konusunda özgürsünüz. Ancak tırnak seçiminde bazı noktalara da dikkat etmemiz gerekiyor. Diyelim ki “İstanbul’un 5 günlük hava tahmini” ifadesini ekrana yazdırmak istiyoruz. Bunu çift tırnak kullanarak şu şekilde gösterebiliriz:
>>> print "İstanbul’un 5 günlük hava tahmini"
Bu komut bize hatasız bir şekilde İstanbul’un 5 günlük hava tahmini çıktısını verir. Ancak aynı işlemi tek tırnakla yapmaya çalışırsak şöyle bir hata mesajı alırız:
File "<stdin>", line 1
print ’İstanbul’un 5 günlük hava tahmini’
^
SyntaxError: invalid syntax
Bunun sebebi, “İstanbul’un” kelimesindeki kesme işaretinden ötürü Python’ın tırnakların nerede başlayıp nerede bittiğini anlamamasıdır. Eğer mutlaka tek tırnak kullanmak istiyorsak, kodu şu hale getirmemiz gerekir:
>>> print ’İstanbul\\’un 5 günlük hava tahmini’
Aynı şekilde, şöyle bir örnekte de çift tırnak bize zorluk çıkarır:
>>> print "Python’da önemli komutlardan biri de "print" komutudur."
Bu komut bize şöyle bir hata mesajı verecektir:
File "<stdin>", line 1
print "Python’daki önemli komutlardan biri de "print" komutudur."
^
SyntaxError: invalid syntax
Bu cümleyi düzgün olarak gösterebilmek için yukarıdaki komutu şöyle yazmamız gerekir:
>>> print "Python’da önemli komutlardan biri de \\"print\\" komutudur."
Yukarıdaki iki örnekte gördüğümüz “\\” işaretleri, kendilerinden sonra gelen karakterlerin Python tarafından normalden farklı algılanmasını sağlar. Yani bu işaret sayesinde, cümle içinde geçen tırnak işaretleri, cümleyi başlatan ve bitiren tırnak işaretleriyle karışmaz. Buna benzer hatalardan kaçmamızı sağlayan bu tür işaretlere Python dilinde Kaçış Dizileri (Escape Sequences) adı verilir. Şimdilik bu kaçış dizisi kavramını çok fazla kafamıza takmadan yolumuza devam edelim. Zaten birkaç bölüm sonra bu kaçış dizilerinden ayrıntılı olarak söz edeceğiz. Biz şu anda sadece, cümle içinde geçen tırnak işaretlerine dikkat etmemiz gerektiğini bilelim yeter.
Dediğimiz gibi, print komutu Python’daki en önemli ve en temel komutlardan biridir. Python’la yazdığınız programlarda kullanıcılarınıza herhangi bir mesaj göstermek istediğinizde bu print komutundan yararlanacaksınız. Dilerseniz bu önemli komutla birkaç örnek daha yapalım elimizi alıştırmak için:
>>> print "GAME OVER"
GAME OVER
>>> print "FINISH HIM!"
FINISH HIM!
>>> print "Linux’un güçlü yanları"
Linux’un güçlü yanları
>>> print ’Linux\\’un güçlü yanları’
Linux’un güçlü yanları
Yukarıdaki son örnekte “\\” işaretini neden kullandığımızı biliyorsunuz. “Linux’un güçlü yanları” cümlesini tek tırnak içine aldığımız için, Linux’un kelimesindeki kesme işaretinden (‘) ötürü Python tırnakların nerede başlayıp nerede bittiğini anlayamaz. Python’ın kafasını karıştırmamak için burada kaçış dizilerinden yararlanarak düzgün çıktı almayı sağlıyoruz. Yani Linux’un kelimesindeki kesme işaretiyle karşılaşan Python’a şöyle demiş oluyoruz: “Bu tırnak senin aradığın tırnak değil. Sen yoluna devam et. Biraz ilerde aradığın tırnağı bulacaksın!“
Karakter Dizileri
Python’daki en önemli komutlardan biri olan print‘i öğrendiğimize göre, bundan sonraki konuları daha rahat anlayabilmemiz için bazı kavramlardan söz etmemiz faydalı olabilir. Bu bölümde “karakter dizisi” diye bir şeyden söz edeceğiz. Yabancılar buna string adı veriyor...
Aslında biz karakter dizisinin ne olduğunu biliyoruz. Yukarıda print komutunu işlerken bu karakter dizilerini zaten kullandık. Oradaki örneklerden de göreceğiniz gibi, karakter dizileri, tırnak içinde gösterilen herhangi bir “şey”dir. Tanımından da anlaşılacağı gibi, tırnak içinde gösterebildiğimiz her şey bir karakter dizisi olabilir. Mesela şu örnekler birer karakter dizisidir:
"Python"
"Perl"
"Ruby"
"23"
"35"
"@falanca"
"c"
Karakter dizilerinin ayırt edici özelliği, tırnak işareti taşımalarıdır. Eğer yukarıdaki örnekleri tırnak işaretsiz olarak kullanırsak, artık bu öğeler birer karakter dizisi olmayacaktır... Yukarıdaki örneklerden de gördüğümüz gibi, bir karakter dizisinin ne kadar uzun veya ne kadar kısa olduğunun hiçbir önemi yok. Bir karakter dizisi tek bir karakterden oluşabileceği gibi, birden fazla karakterden de oluşabilir. Bu nedenle “c” de bir karakter dizisidir, “@falanca” da...
Python’da karakter dizilerini ekrana yazdırabilmek için print komutundan yararlanabileceğimizi biliyorsunuz. Mesela:
>>> print "k"
k
>>> print "456"
456
>>> print "Ruby"
Ruby
>>> print "İstanbul’un 5 günlük hava tahmini"
İstanbul’un 5 günlük hava tahmini
Etkileşimli kabukta çalışırken, istersek yukarıdaki örnekleri print komutunu kullanmadan da ekrana yazdırabiliriz:
>>> "Python"
’Python’
>>> "Perl"
’Perl’
>>> "Ruby"
’Ruby’
>>> "4243"
’4243’
Ancak bu durum sadece etkileşimli kabuk için geçerlidir. Yani ilerde kodlarımızı bir dosyaya kaydettiğimiz zaman, yukarıdaki kodların çıktı vermediğini, herhangi bir şeyi ekrana yazdırabilmek için mutlaka print komutundan yararlanmamız gerektiğini göreceğiz.
Şu örneğe bir bakalım:
>>> print "Python programlama dili"
Python yukarıdaki gibi bir komutla karşılaştığında iki basamaklı bir işlem gerçekleştirir. Önce “Python programlama dili” adlı karakter dizisini okur, ardından da print komutunun etkisiyle bu karakter dizisini ekrana basıp kullanıcıya gösterir. Yani şöyle bir çıktı verir:
Python programlama dili
Etkileşimli kabukta bir karakter dizisini print komutu olmadan kullandığımızda Python yalnızca birinci basamağı gerçekleştirmiş olur. Böyle bir durumda yaptığı tek şey bu karakter dizisini okumaktır. print komutunu kullanarak bu karakter dizisini kullanıcıya göstermediğimiz için ikinci basamak gerçekleşmez. Dolayısıyla elde ettiğimiz çıktı, söz konusu karakter dizisini kullanıcının değil, Python’ın ne şekilde gördüğünü gösterir. Yani Python bize şöyle bir şey söylemiş olur:
“Sen şimdi etkileşimli kabuğa bir şeyler yazdın. Ben de bunu algıladım. Yazdığın şeyi algıladığımı göstermek için de, çıktıyı sana tek tırnak işaretleri içinde gösterdim. Ancak print gibi bir komut yardımıyla ekrana herhangi bir şey basmamış olman da dikkatimden kaçmadı değil!“
Basit bir örnek verelim:
>>> "dünya"
’d\\xc3\\xbcnya’
Gördüğünüz gibi, “dünya” kelimesi içindeki Türkçe karakter (“ü”) çıktıda düzgün görünmüyor. Demek ki Python bizim girdiğimiz “dünya” adlı karakter dizisini “d\\xc3\\xbcnya” şeklinde görüyormuş... (Buradaki “\\xc3\\xbc” kısmı kullandığınız işletim sistemine göre farklılık gösterebilir.) Biz bu karakter dizisini kullanıcıya gösterebilmek için şöyle yazacağız:
>>> print "dünya"
dünya
Yazdığımız Python programlarını dosyaya kaydedip çalıştırdığımızda yukarıda anlattıklarımızın ne demek olduğunu çok daha net bir şekilde anlayacağız. O yüzden, eğer yukarıdaki açıklamalar size kafa karıştırıcı geldiyse hiç endişe etmenize gerek yok. Okumaya devam edebilirsiniz.
Karakter dizilerini göstermek için tırnak işaretlerinden yararlanıyoruz demiştik. Python’da karakter dizilerini göstermek için farklı tırnak tiplerini kullanabilirsiniz. Örneğin çift tırnak kullanabilirsiniz:
>>> print "Python güçlü bir programlama dilidir."
veya tek tırnak:
>>> print ’Python güçlü bir programlama dilidir.’
Bu tırnak tiplerini önceki örneklerimizde görmüştük. Ama Python bize bunların dışında bir tırnak alternatifi daha sunar. Üç tırnak:
>>> print """Python güçlü bir programlama dilidir."""
Gördüğünüz gibi, karakter dizileriyle birlikte üç farklı tırnak çeşidi kullanabiliyoruz. Hangi tırnak çeşidini kullandığınızın çok fazla bir önemi yok. Önemli olan, karakter dizisini hangi tırnakla açtıysanız o tırnakla kapatmanızdır.
Bu tırnak tipleri içinde en yaygın kullanılan çift tırnaktır. Tabii siz istediğiniz tırnak biçimini kullanmakta özgürsünüz. Yalnız önceki bölümde, duruma göre kullanılan tırnak tipinin önem kazandığını gösteren şöyle bir örnek verdiğimizi biliyorsunuz:
>>> print "İstanbul’un 5 günlük hava tahmini"
Burada “İstanbul’un 5 günlük hava tahmini” bir karakter dizisidir. Bu karakter dizisini göstermek için çift tırnaklardan yararlandık. İstersek elbette bu karakter dizisini tek tırnak ile de gösterebiliriz. Ancak İstanbul’un kelimesi içinde geçen kesme işaretinden ötürü, kullanılan tırnakların birbirine karışması gibi bir tehlike söz konusu. Yani, daha önce de gördüğümüz gibi, şöyle bir kullanım Python’ın kafasının karışmasına yol açacaktır:
>>> print ’İstanbul’un 5 günlük hava tahmini’
Bu kullanımda, Python karakter dizisini kapatan tırnağın hangisi olduğunu anlayamayacak, o yüzden de şöyle bir hata mesajı verecektir:
File "<stdin>", line 1
print ’İstanbul’un 5 günlük hava tahmini’
^
SyntaxError: invalid syntax
Dikkat ederseniz hata çıktısındaki İstanbul’un kelimesinin sonunda minik bir ok işareti var. İşte bu ok, hata üreten sorunlu bölgeyi gösteriyor.
Böyle bir hata mesajı almamak için kaçış dizilerinden yararlanmamız gerektiğini söylemiştik:
>>> print ’İstanbul\\’un 5 günlük hava tahmini’
Biraz sonra kaçış dizilerinden ayrıntılı olarak söz edeceğiz. O yüzden yukarıdaki kullanımın kafanızı karıştırmasına izin vermeyin.
Eğer bunların hiçbiriyle uğraşmak istemezseniz üç tırnaktan da yararlanabilirsiniz:
>>> print """Gokhan’in öğretmeni Cem Bey, "ödevini yapmadan gelme!" dedi."""
Gördüğünüz gibi, üç tırnak işareti sayesinde karakter dizisi içinde hem tek tırnak, hem de çift tırnak kullanabildik. Zira yukarıdaki karakter dizisine tek tırnakla başlasak Gokhan’in kelimesi içindeki kesme işareti, çift tırnakla başlasak “ödevini yapmadan gelme!” ifadesi içindeki çift tırnak işaretleri bize sorun yaratacak... Bu engellere takılmadan, kodumuzu düzgün bir şekilde ekrana yazdırabilmek için üç tırnak işaretlerini kullanmayı tercih ettik.
Üç tırnak işaretinin marifetleri yukarıdakilerle sınırlı değildir. Bu tırnak tipi, kimi durumlarda işimizi bir hayli kolaylaştırır. Mesela kullanıcılarımıza şöyle bir çıktı göstermemiz gerektiğini varsayalım:
Günün mönüsü
------------
Makarna .... 6 TL
Çorba....... 3 TL
Tatlı....... 2 TL
Böyle bir çıktı vermenin en kolay yolu üç tırnak işaretlerinden yararlanmaktır:
>>> print """
... Günün mönüsü
... ------------
... Makarna .... 6 TL
... Çorba....... 3 TL
... Tatlı....... 2 TL
... """
Burada ilk üç tırnak işaretini koyduktan sonra ENTER tuşuna bastık. Alt satıra geçildiğinde >>> işaretinin ... işaretine döndüğüne dikkat edin. Bu işaret Python’ın bizden komut girmeye devam etmemizi beklediğini gösteriyor. Biz de bu beklentiye uyarak, “Günün mönüsü” satırını yazıyoruz. Tekrar ENTER tuşuna bastığımızda yine ... işaretini görüyoruz ve hemen “----------” satırını yazıyoruz. Yazacağımız kodlar bitene kadar böyle devam ediyoruz. İşimiz bittiğinde de kapanış tırnaklarını koyup ENTER tuşuna basarak çıktıyı alıyoruz:
Günün mönüsü
------------
Makarna .... 6 TL
Çorba....... 3 TL
Tatlı....... 2 TL
Normalde, tek tırnak veya çift tırnak ile başladığımız bir karakter dizisinde kapanış tırnağını koymadan ENTER tuşuna basarsak hata alırız:
>>> print "Günün Mönüsü
File "<stdin>", line 1
print "Günün Mönüsü
^
SyntaxError: EOL while scanning string literal
Burada “Günün Mönüsü” karakter dizisine çift tırnakla başladık, ama tırnağı kapatmadan ENTER tuşuna bastığımız için Python bize bir hata mesajı gösterdi. Aynı şey tek tırnak için de geçerlidir. Ama yukarıda da gördüğünüz gibi üç tırnak farklıdır:
>>> print """Günün Mönüsü
...
Üç tırnak işareti, karakter dizileri içinde geçen farklı tipte tırnakları atlatmamızı sağlamanın yanısıra, bize karakter dizilerimizi birden fazla satıra bölme imkanı da tanıyor. Aynı şeyi tek veya çift tırnakla yapamıyoruz. İlerde bu özellikten sık sık faydalandığımızı göreceksiniz.
Karakter dizilerine ilişkin önemli bir konu da bu karakter dizilerinin birbirleriyle nasıl birleştirileceğidir. Mesela bir kimsenin adı ile soyadını birleştirmek istersek ne yapmalıyız?
>>> print "AYAZ" + "Kibris1974"
AYAZ Kibris1974
Python’da Sayılar ve Matematik İşlemleri
Şimdiye kadar Python’da bazı şeyler öğrendik. Ancak öğrendiklerimiz henüz dört dörtlük bir program yazmaya yetmiyor. Ama bu durum, Python’ı şimdilik basit bir hesap makinesi niyetine kullanabilmemize engel değil.
Örneğin:
>>> 2 + 5
7
... veya:
>>> 5 - 2
3
... ya da:
>>> 2 * 5
10
... hatta:
>>> 6 / 2
3
İsterseniz bunların başına print komutu ekleyerek de kullanabilirsiniz bu kodları. Bir örnek verelim:
>>> print 234 + 546
780
Aritmetik işlemler yapabilmek için kullandığımız işaretlerin size mantıklı gelmiş olduğunu zannediyorum. Toplama işlemi için “+”, çıkarma işlemi için “-”, çarpma işlemi için “*”, bölme işlemi için ise “/” işaretlerini kullanmak gayet makul duruyor, değil mi?
Gördüğünüz gibi sayıları yazarken tırnak işaretlerini kullanmıyoruz. Eğer tırnak işareti kullanırsak Python yazdıklarımızı sayı olarak değil karakter dizisi olarak algılayacaktır. Bu durumu birkaç örnekle görelim:
>>> print 25 + 50
75
Bu komut, 25 ve 50’yi toplayıp sonucu çıktı olarak verir. Şimdi aşağıdaki örneğe bakalım:
>>> print "25 + 50"
25 + 50
Bu komut 25 ile 50’yi toplamak yerine, ekrana 25 + 50 şeklinde bir çıktı verecektir. Peki, şöyle bir komut verirsek ne olur?
>>> print "25" + "50"
Böyle bir komutla karşılaşan Python derhal “25” ve “50” karakter dizilerini (bu sayılar tırnak içinde olduğu için Python bunları sayı olarak algılamaz) yan yana getirip birleştirecektir. Yani şöyle bir şey yapacaktır:
>>> print "25" + "50"
2550
Uzun lafın kısası, “25” ifadesi ile “Çeliktepe” ifadesi arasında Python açısından hiç bir fark yoktur. Bunların ikisi de karakter dizisi sınıfına girer. Ancak tırnak işareti olmayan 25 ile “Çeliktepe” ifadeleri Python dilinde ayrı anlamlar taşır. Çünkü bunlardan biri sayı öteki ise karakter dizisidir (string).
Şimdi aritmetik işlemlere geri dönelim. Öncelikle şu komutun çıktısını inceleyelim:
>>> print 5 / 2
2
Ama biz biliyoruz ki 5’i 2’ye bölerseniz 2 değil 2,5 çıkar. Aynı komutu bir de şöyle deneyelim:
>>> print 5.0 / 2
2.5
Gördüğünüz gibi bölme işlemini oluşturan bileşenlerden birinin yanına ”.0” koyulursa sorun çözülüyor. Böylelikle Python bizim sonucu kayan noktalı sayı olarak görmek istediğimizi anlıyor. Bu ”.0” ifadesini istediğimiz sayının önüne koyabiliriz. Birkaç örnek görelim:
>>> print 5 / 2.0
2.5
>>> print 5.0 / 2.0
2.5
Python’da aritmetik işlemler yapılırken alıştığımız matematik kuralları geçerlidir. Yani mesela aynı anda bölme çıkarma, toplama, çarpma işlemleri yapılacaksa işlem öncelik sırası, önce bölme ve çarpma sonra toplama ve çıkarma şeklinde olacaktır. Örneğin:
>>> print 2 + 6 / 3 * 5 - 4
işleminin sonucu 8 olacaktır. Tabii biz istersek parantezler yardımıyla Python’ın kendiliğinden kullandığı öncelik sırasını değiştirebiliriz. Bu arada yapacağımız aritmetik işlemlerde sayıları kayan noktalı sayı cinsinden yazmamız işlem sonucunun kesinliği açısından büyük önem taşır. Eğer her defasında ”.0” koymaktan sıkılıyorsanız, şu komutla Python’a, “Bana her zaman kesin sonuçlar göster,” mesajı gönderebilirsiniz:
>>> from __future__ import division
Not
Burada “__” işaretini klavyedeki alt çizgi tuşuna iki kez art arda basarak yapabilirsiniz.
Artık bir sonraki Python oturumuna kadar bütün işlemlerinizin sonucu kayan noktalı sayı olarak gösterilecektir. Bu arada dilerseniz konuyla ilgili bazı ufak tefek teknik bilgiler verelim. Böylece karşılaştığımız örnekleri daha kolay anlayabiliriz. Mesela yukarıda sayılardan bahsettik. Python’da sayılar çeşit çeşittir:
Tamsayılar (integers)
Tamsayılar, herhangi bir ondalık kısım barındırmayan sayılardır. Mesela 3, 5, 6, 100, 1450, -56, -3 vb...
Kayan Noktalı Sayılar (floating point numbers)
Ondalık bir kısım da barındıran sayılardır. Mesela 3.4, 5.5, 6.4, vb... Bu arada ondalık kısmı virgülle değil noktayla gösterdiğimize dikkat edin.
Uzun Sayılar (long integers)
-2.147.483.648 ile 2.147.483.647 arasında kalan sayılardır.
Karmaşık Sayılar (complex numbers)
Karmaşık sayılar bir gerçel, bir de sanal kısımdan oluşan sayılardır. Mesela 34.3j, 2j+4, vb...
Bu sayılar içinde en sık karşılaşacaklarımız tamsayılar ve kayan noktalı sayılardır. Eğer özel olarak matematikle ilgili işler yapmıyorsanız uzun sayılar ve karmaşık sayılar pek karşınıza çıkmaz.
Hatırlarsanız, karakter dizilerinden bahsederken, print‘li ve print‘siz kullanımdan söz etmiştik. Orada sözünü ettiğimiz durum sayılar için de geçerlidir. Mesela şu örneğe bakalım:
>>> 12 - 3.3
8.6999999999999993
Herhalde beklediğiniz çıktı bu değildi. Bu çıktı, 12 - 3.3 işlemini Python’ın nasıl gördüğünü gösteriyor. Eğer bu işlemi insanların anlayabileceği bir biçime getirmek istersek şöyle yazmamız gerekir:
>>> print 12 - 3.3
8.7
İlerde yeri geldiğinde sayılardan daha ayrıntılı bir şekilde bahsedeceğiz. O yüzden sayılar konusunu şimdi bir kenara bırakıp çok önemli başka bir konuya değinelim.
Değişkenler
Kabaca, bir veriyi kendi içinde depolayan birimlere değişken adı veriyorlar. Ama şu anda aslında bizi değişkenin ne olduğundan ziyade neye yaradığı ilgilendiriyor. O yüzden hemen bir örnekle durumu açıklamaya çalışalım. Mesela;
>>> n = 5
ifadesinde n bir değişkendir. Bu n değişkeni 5 verisini sonradan tekrar kullanılmak üzere depolar. Python komut satırında n = 5 şeklinde değişkeni tanımladıktan sonra print n komutunu verirsek ekrana yazdırılacak veri 5 olacaktır. Yani:
>>> n = 5
>>> print n
5
Bu n değişkenini alıp bununla aritmetik işlemler de yapabiliriz:
>>> n * 2
10
>>> n / 2.0
2.5
Hatta bu n değişkeni, içinde bir aritmetik işlem de barındırabilir:
>>> n = 34 * 45
>>> print n
1530
Şu örneklere bir göz atalım:
>>> a = 5
>>> b = 3
>>> print a * b
15
>>> print "a ile b’yi çarparsak", a * b, "elde ederiz"
a ile b’yi çarparsak 15 elde ederiz
Burada değişkenleri karakter dizileri arasına nasıl yerleştirdiğimize, virgülleri nerede kullandığımıza dikkat edin.
Aynı değişkenlerle yaptığımız şu örneğe bakalım bir de:
>>> print a, "sayısı", b, "sayısından büyüktür"
Gördüğünüz gibi, aslında burada yaptığımız şey, karakter dizilerini birbiriyle birleştirmekten ibarettir. Hatırlarsanız bir önceki bölümde iki karakter dizisini şu şekilde birleştirebileceğimizi öğrenmiştik:
>>> print "PoSsYMaC", "Gokhan"
İşte yukarıda yaptığımız şeyin de bundan hiçbir farkı yoktur. Dikkatlice bakın:
>>> print a, "sayısı", b, "sayısından büyüktür"
Yukarıdaki kod şununla eşdeğerdir:
>>> print 5, "sayısı", 3, "sayısından büyüktür"
Biz burada doğrudan sayıları yazmak yerine, bu sayıları tutan değişkenleri yazdık...
Değişkenleri kullanmanın başka bir yolu da özel işaretler yardımıyla bunları karakter dizileri içine gömmektir. Şu örneğe bir bakalım:
>>> print "%s ile %s çarpılırsa %s elde edilir" %(3, 5, 3*5)
Bu da oldukça kullanışlı bir tekniktir. Burada, parantez içinde göstereceğimiz her bir öğe için karakter dizisi içine “%s” işaretini ekliyoruz. Karakter dizisini yazdıktan sonra da “%” işaretinin ardından parantez içinde bu değişkenleri teker teker tanımlıyoruz. Buna göre birinci değişkenimiz 3, ikincisi 5, üçüncüsü ise bunların çarpımı...
yazıp hemen ENTER tuşuna basalım.
Not
Yukarıdaki komutta gördüğümüz >>> işaretini kendimiz yazmayacağız. O işaret, etkileşimli kabuğun görüntüsünü temsil ediyor. Bizim sadece print yazmamız yeterli.
Ne oldu? Python bir satır boşluk bırakarak alt satıra geçti, değil mi? Bunu ona yapmasını biz söyledik, o da yaptı...
Şimdi de boş bir satır bırakmak yerine ekrana bir şeyler yazmasını söyleyelim Python’a:
>>> print "Programa hoşgeldiniz. Lütfen giriş yapın!"
Bu satırı yazıp ENTER tuşuna bastıktan sonra ekranda Programa hoşgeldiniz. Lütfen giriş yapın! çıktısını görmemiz gerekiyor.
Gördüğünüz gibi print komutunun ardından gelen “Programa hoşgeldiniz. Lütfen giriş yapın!” ifadesini çift tırnak içinde belirtiyoruz. Eğer burada çift tırnak işaretini koymazsak veya koymayı unutursak Python bize bir hata çıktısı gösterecektir. Zaten yukarıdaki komutu verdikten sonra bir hata alıyorsanız, çok büyük bir ihtimalle tırnakları düzgün yerleştirmemişsinizdir.
Biz istersek yukarıdaki örnekte çift tırnak yerine tek tırnak (‘) da kullanabiliriz. Tırnak seçiminde özgürüz:
>>> print ’Programa hoşgeldiniz. Lütfen giriş yapın!’
Bu komut da bize istediğimiz çıktıyı başarıyla verecektir. Dediğimiz gibi, kullanacağınız tırnak tipi konusunda özgürsünüz. Ancak tırnak seçiminde bazı noktalara da dikkat etmemiz gerekiyor. Diyelim ki “İstanbul’un 5 günlük hava tahmini” ifadesini ekrana yazdırmak istiyoruz. Bunu çift tırnak kullanarak şu şekilde gösterebiliriz:
>>> print "İstanbul’un 5 günlük hava tahmini"
Bu komut bize hatasız bir şekilde İstanbul’un 5 günlük hava tahmini çıktısını verir. Ancak aynı işlemi tek tırnakla yapmaya çalışırsak şöyle bir hata mesajı alırız:
File "<stdin>", line 1
print ’İstanbul’un 5 günlük hava tahmini’
^
SyntaxError: invalid syntax
Bunun sebebi, “İstanbul’un” kelimesindeki kesme işaretinden ötürü Python’ın tırnakların nerede başlayıp nerede bittiğini anlamamasıdır. Eğer mutlaka tek tırnak kullanmak istiyorsak, kodu şu hale getirmemiz gerekir:
>>> print ’İstanbul\\’un 5 günlük hava tahmini’
Aynı şekilde, şöyle bir örnekte de çift tırnak bize zorluk çıkarır:
>>> print "Python’da önemli komutlardan biri de "print" komutudur."
Bu komut bize şöyle bir hata mesajı verecektir:
File "<stdin>", line 1
print "Python’daki önemli komutlardan biri de "print" komutudur."
^
SyntaxError: invalid syntax
Bu cümleyi düzgün olarak gösterebilmek için yukarıdaki komutu şöyle yazmamız gerekir:
>>> print "Python’da önemli komutlardan biri de \\"print\\" komutudur."
Yukarıdaki iki örnekte gördüğümüz “\\” işaretleri, kendilerinden sonra gelen karakterlerin Python tarafından normalden farklı algılanmasını sağlar. Yani bu işaret sayesinde, cümle içinde geçen tırnak işaretleri, cümleyi başlatan ve bitiren tırnak işaretleriyle karışmaz. Buna benzer hatalardan kaçmamızı sağlayan bu tür işaretlere Python dilinde Kaçış Dizileri (Escape Sequences) adı verilir. Şimdilik bu kaçış dizisi kavramını çok fazla kafamıza takmadan yolumuza devam edelim. Zaten birkaç bölüm sonra bu kaçış dizilerinden ayrıntılı olarak söz edeceğiz. Biz şu anda sadece, cümle içinde geçen tırnak işaretlerine dikkat etmemiz gerektiğini bilelim yeter.
Dediğimiz gibi, print komutu Python’daki en önemli ve en temel komutlardan biridir. Python’la yazdığınız programlarda kullanıcılarınıza herhangi bir mesaj göstermek istediğinizde bu print komutundan yararlanacaksınız. Dilerseniz bu önemli komutla birkaç örnek daha yapalım elimizi alıştırmak için:
>>> print "GAME OVER"
GAME OVER
>>> print "FINISH HIM!"
FINISH HIM!
>>> print "Linux’un güçlü yanları"
Linux’un güçlü yanları
>>> print ’Linux\\’un güçlü yanları’
Linux’un güçlü yanları
Yukarıdaki son örnekte “\\” işaretini neden kullandığımızı biliyorsunuz. “Linux’un güçlü yanları” cümlesini tek tırnak içine aldığımız için, Linux’un kelimesindeki kesme işaretinden (‘) ötürü Python tırnakların nerede başlayıp nerede bittiğini anlayamaz. Python’ın kafasını karıştırmamak için burada kaçış dizilerinden yararlanarak düzgün çıktı almayı sağlıyoruz. Yani Linux’un kelimesindeki kesme işaretiyle karşılaşan Python’a şöyle demiş oluyoruz: “Bu tırnak senin aradığın tırnak değil. Sen yoluna devam et. Biraz ilerde aradığın tırnağı bulacaksın!“
Karakter Dizileri
Python’daki en önemli komutlardan biri olan print‘i öğrendiğimize göre, bundan sonraki konuları daha rahat anlayabilmemiz için bazı kavramlardan söz etmemiz faydalı olabilir. Bu bölümde “karakter dizisi” diye bir şeyden söz edeceğiz. Yabancılar buna string adı veriyor...
Aslında biz karakter dizisinin ne olduğunu biliyoruz. Yukarıda print komutunu işlerken bu karakter dizilerini zaten kullandık. Oradaki örneklerden de göreceğiniz gibi, karakter dizileri, tırnak içinde gösterilen herhangi bir “şey”dir. Tanımından da anlaşılacağı gibi, tırnak içinde gösterebildiğimiz her şey bir karakter dizisi olabilir. Mesela şu örnekler birer karakter dizisidir:
"Python"
"Perl"
"Ruby"
"23"
"35"
"@falanca"
"c"
Karakter dizilerinin ayırt edici özelliği, tırnak işareti taşımalarıdır. Eğer yukarıdaki örnekleri tırnak işaretsiz olarak kullanırsak, artık bu öğeler birer karakter dizisi olmayacaktır... Yukarıdaki örneklerden de gördüğümüz gibi, bir karakter dizisinin ne kadar uzun veya ne kadar kısa olduğunun hiçbir önemi yok. Bir karakter dizisi tek bir karakterden oluşabileceği gibi, birden fazla karakterden de oluşabilir. Bu nedenle “c” de bir karakter dizisidir, “@falanca” da...
Python’da karakter dizilerini ekrana yazdırabilmek için print komutundan yararlanabileceğimizi biliyorsunuz. Mesela:
>>> print "k"
k
>>> print "456"
456
>>> print "Ruby"
Ruby
>>> print "İstanbul’un 5 günlük hava tahmini"
İstanbul’un 5 günlük hava tahmini
Etkileşimli kabukta çalışırken, istersek yukarıdaki örnekleri print komutunu kullanmadan da ekrana yazdırabiliriz:
>>> "Python"
’Python’
>>> "Perl"
’Perl’
>>> "Ruby"
’Ruby’
>>> "4243"
’4243’
Ancak bu durum sadece etkileşimli kabuk için geçerlidir. Yani ilerde kodlarımızı bir dosyaya kaydettiğimiz zaman, yukarıdaki kodların çıktı vermediğini, herhangi bir şeyi ekrana yazdırabilmek için mutlaka print komutundan yararlanmamız gerektiğini göreceğiz.
Şu örneğe bir bakalım:
>>> print "Python programlama dili"
Python yukarıdaki gibi bir komutla karşılaştığında iki basamaklı bir işlem gerçekleştirir. Önce “Python programlama dili” adlı karakter dizisini okur, ardından da print komutunun etkisiyle bu karakter dizisini ekrana basıp kullanıcıya gösterir. Yani şöyle bir çıktı verir:
Python programlama dili
Etkileşimli kabukta bir karakter dizisini print komutu olmadan kullandığımızda Python yalnızca birinci basamağı gerçekleştirmiş olur. Böyle bir durumda yaptığı tek şey bu karakter dizisini okumaktır. print komutunu kullanarak bu karakter dizisini kullanıcıya göstermediğimiz için ikinci basamak gerçekleşmez. Dolayısıyla elde ettiğimiz çıktı, söz konusu karakter dizisini kullanıcının değil, Python’ın ne şekilde gördüğünü gösterir. Yani Python bize şöyle bir şey söylemiş olur:
“Sen şimdi etkileşimli kabuğa bir şeyler yazdın. Ben de bunu algıladım. Yazdığın şeyi algıladığımı göstermek için de, çıktıyı sana tek tırnak işaretleri içinde gösterdim. Ancak print gibi bir komut yardımıyla ekrana herhangi bir şey basmamış olman da dikkatimden kaçmadı değil!“
Basit bir örnek verelim:
>>> "dünya"
’d\\xc3\\xbcnya’
Gördüğünüz gibi, “dünya” kelimesi içindeki Türkçe karakter (“ü”) çıktıda düzgün görünmüyor. Demek ki Python bizim girdiğimiz “dünya” adlı karakter dizisini “d\\xc3\\xbcnya” şeklinde görüyormuş... (Buradaki “\\xc3\\xbc” kısmı kullandığınız işletim sistemine göre farklılık gösterebilir.) Biz bu karakter dizisini kullanıcıya gösterebilmek için şöyle yazacağız:
>>> print "dünya"
dünya
Yazdığımız Python programlarını dosyaya kaydedip çalıştırdığımızda yukarıda anlattıklarımızın ne demek olduğunu çok daha net bir şekilde anlayacağız. O yüzden, eğer yukarıdaki açıklamalar size kafa karıştırıcı geldiyse hiç endişe etmenize gerek yok. Okumaya devam edebilirsiniz.
Karakter dizilerini göstermek için tırnak işaretlerinden yararlanıyoruz demiştik. Python’da karakter dizilerini göstermek için farklı tırnak tiplerini kullanabilirsiniz. Örneğin çift tırnak kullanabilirsiniz:
>>> print "Python güçlü bir programlama dilidir."
veya tek tırnak:
>>> print ’Python güçlü bir programlama dilidir.’
Bu tırnak tiplerini önceki örneklerimizde görmüştük. Ama Python bize bunların dışında bir tırnak alternatifi daha sunar. Üç tırnak:
>>> print """Python güçlü bir programlama dilidir."""
Gördüğünüz gibi, karakter dizileriyle birlikte üç farklı tırnak çeşidi kullanabiliyoruz. Hangi tırnak çeşidini kullandığınızın çok fazla bir önemi yok. Önemli olan, karakter dizisini hangi tırnakla açtıysanız o tırnakla kapatmanızdır.
Bu tırnak tipleri içinde en yaygın kullanılan çift tırnaktır. Tabii siz istediğiniz tırnak biçimini kullanmakta özgürsünüz. Yalnız önceki bölümde, duruma göre kullanılan tırnak tipinin önem kazandığını gösteren şöyle bir örnek verdiğimizi biliyorsunuz:
>>> print "İstanbul’un 5 günlük hava tahmini"
Burada “İstanbul’un 5 günlük hava tahmini” bir karakter dizisidir. Bu karakter dizisini göstermek için çift tırnaklardan yararlandık. İstersek elbette bu karakter dizisini tek tırnak ile de gösterebiliriz. Ancak İstanbul’un kelimesi içinde geçen kesme işaretinden ötürü, kullanılan tırnakların birbirine karışması gibi bir tehlike söz konusu. Yani, daha önce de gördüğümüz gibi, şöyle bir kullanım Python’ın kafasının karışmasına yol açacaktır:
>>> print ’İstanbul’un 5 günlük hava tahmini’
Bu kullanımda, Python karakter dizisini kapatan tırnağın hangisi olduğunu anlayamayacak, o yüzden de şöyle bir hata mesajı verecektir:
File "<stdin>", line 1
print ’İstanbul’un 5 günlük hava tahmini’
^
SyntaxError: invalid syntax
Dikkat ederseniz hata çıktısındaki İstanbul’un kelimesinin sonunda minik bir ok işareti var. İşte bu ok, hata üreten sorunlu bölgeyi gösteriyor.
Böyle bir hata mesajı almamak için kaçış dizilerinden yararlanmamız gerektiğini söylemiştik:
>>> print ’İstanbul\\’un 5 günlük hava tahmini’
Biraz sonra kaçış dizilerinden ayrıntılı olarak söz edeceğiz. O yüzden yukarıdaki kullanımın kafanızı karıştırmasına izin vermeyin.
Eğer bunların hiçbiriyle uğraşmak istemezseniz üç tırnaktan da yararlanabilirsiniz:
>>> print """Gokhan’in öğretmeni Cem Bey, "ödevini yapmadan gelme!" dedi."""
Gördüğünüz gibi, üç tırnak işareti sayesinde karakter dizisi içinde hem tek tırnak, hem de çift tırnak kullanabildik. Zira yukarıdaki karakter dizisine tek tırnakla başlasak Gokhan’in kelimesi içindeki kesme işareti, çift tırnakla başlasak “ödevini yapmadan gelme!” ifadesi içindeki çift tırnak işaretleri bize sorun yaratacak... Bu engellere takılmadan, kodumuzu düzgün bir şekilde ekrana yazdırabilmek için üç tırnak işaretlerini kullanmayı tercih ettik.
Üç tırnak işaretinin marifetleri yukarıdakilerle sınırlı değildir. Bu tırnak tipi, kimi durumlarda işimizi bir hayli kolaylaştırır. Mesela kullanıcılarımıza şöyle bir çıktı göstermemiz gerektiğini varsayalım:
Günün mönüsü
------------
Makarna .... 6 TL
Çorba....... 3 TL
Tatlı....... 2 TL
Böyle bir çıktı vermenin en kolay yolu üç tırnak işaretlerinden yararlanmaktır:
>>> print """
... Günün mönüsü
... ------------
... Makarna .... 6 TL
... Çorba....... 3 TL
... Tatlı....... 2 TL
... """
Burada ilk üç tırnak işaretini koyduktan sonra ENTER tuşuna bastık. Alt satıra geçildiğinde >>> işaretinin ... işaretine döndüğüne dikkat edin. Bu işaret Python’ın bizden komut girmeye devam etmemizi beklediğini gösteriyor. Biz de bu beklentiye uyarak, “Günün mönüsü” satırını yazıyoruz. Tekrar ENTER tuşuna bastığımızda yine ... işaretini görüyoruz ve hemen “----------” satırını yazıyoruz. Yazacağımız kodlar bitene kadar böyle devam ediyoruz. İşimiz bittiğinde de kapanış tırnaklarını koyup ENTER tuşuna basarak çıktıyı alıyoruz:
Günün mönüsü
------------
Makarna .... 6 TL
Çorba....... 3 TL
Tatlı....... 2 TL
Normalde, tek tırnak veya çift tırnak ile başladığımız bir karakter dizisinde kapanış tırnağını koymadan ENTER tuşuna basarsak hata alırız:
>>> print "Günün Mönüsü
File "<stdin>", line 1
print "Günün Mönüsü
^
SyntaxError: EOL while scanning string literal
Burada “Günün Mönüsü” karakter dizisine çift tırnakla başladık, ama tırnağı kapatmadan ENTER tuşuna bastığımız için Python bize bir hata mesajı gösterdi. Aynı şey tek tırnak için de geçerlidir. Ama yukarıda da gördüğünüz gibi üç tırnak farklıdır:
>>> print """Günün Mönüsü
...
Üç tırnak işareti, karakter dizileri içinde geçen farklı tipte tırnakları atlatmamızı sağlamanın yanısıra, bize karakter dizilerimizi birden fazla satıra bölme imkanı da tanıyor. Aynı şeyi tek veya çift tırnakla yapamıyoruz. İlerde bu özellikten sık sık faydalandığımızı göreceksiniz.
Karakter dizilerine ilişkin önemli bir konu da bu karakter dizilerinin birbirleriyle nasıl birleştirileceğidir. Mesela bir kimsenin adı ile soyadını birleştirmek istersek ne yapmalıyız?
>>> print "AYAZ" + "Kibris1974"
AYAZ Kibris1974
Python’da Sayılar ve Matematik İşlemleri
Şimdiye kadar Python’da bazı şeyler öğrendik. Ancak öğrendiklerimiz henüz dört dörtlük bir program yazmaya yetmiyor. Ama bu durum, Python’ı şimdilik basit bir hesap makinesi niyetine kullanabilmemize engel değil.
Örneğin:
>>> 2 + 5
7
... veya:
>>> 5 - 2
3
... ya da:
>>> 2 * 5
10
... hatta:
>>> 6 / 2
3
İsterseniz bunların başına print komutu ekleyerek de kullanabilirsiniz bu kodları. Bir örnek verelim:
>>> print 234 + 546
780
Aritmetik işlemler yapabilmek için kullandığımız işaretlerin size mantıklı gelmiş olduğunu zannediyorum. Toplama işlemi için “+”, çıkarma işlemi için “-”, çarpma işlemi için “*”, bölme işlemi için ise “/” işaretlerini kullanmak gayet makul duruyor, değil mi?
Gördüğünüz gibi sayıları yazarken tırnak işaretlerini kullanmıyoruz. Eğer tırnak işareti kullanırsak Python yazdıklarımızı sayı olarak değil karakter dizisi olarak algılayacaktır. Bu durumu birkaç örnekle görelim:
>>> print 25 + 50
75
Bu komut, 25 ve 50’yi toplayıp sonucu çıktı olarak verir. Şimdi aşağıdaki örneğe bakalım:
>>> print "25 + 50"
25 + 50
Bu komut 25 ile 50’yi toplamak yerine, ekrana 25 + 50 şeklinde bir çıktı verecektir. Peki, şöyle bir komut verirsek ne olur?
>>> print "25" + "50"
Böyle bir komutla karşılaşan Python derhal “25” ve “50” karakter dizilerini (bu sayılar tırnak içinde olduğu için Python bunları sayı olarak algılamaz) yan yana getirip birleştirecektir. Yani şöyle bir şey yapacaktır:
>>> print "25" + "50"
2550
Uzun lafın kısası, “25” ifadesi ile “Çeliktepe” ifadesi arasında Python açısından hiç bir fark yoktur. Bunların ikisi de karakter dizisi sınıfına girer. Ancak tırnak işareti olmayan 25 ile “Çeliktepe” ifadeleri Python dilinde ayrı anlamlar taşır. Çünkü bunlardan biri sayı öteki ise karakter dizisidir (string).
Şimdi aritmetik işlemlere geri dönelim. Öncelikle şu komutun çıktısını inceleyelim:
>>> print 5 / 2
2
Ama biz biliyoruz ki 5’i 2’ye bölerseniz 2 değil 2,5 çıkar. Aynı komutu bir de şöyle deneyelim:
>>> print 5.0 / 2
2.5
Gördüğünüz gibi bölme işlemini oluşturan bileşenlerden birinin yanına ”.0” koyulursa sorun çözülüyor. Böylelikle Python bizim sonucu kayan noktalı sayı olarak görmek istediğimizi anlıyor. Bu ”.0” ifadesini istediğimiz sayının önüne koyabiliriz. Birkaç örnek görelim:
>>> print 5 / 2.0
2.5
>>> print 5.0 / 2.0
2.5
Python’da aritmetik işlemler yapılırken alıştığımız matematik kuralları geçerlidir. Yani mesela aynı anda bölme çıkarma, toplama, çarpma işlemleri yapılacaksa işlem öncelik sırası, önce bölme ve çarpma sonra toplama ve çıkarma şeklinde olacaktır. Örneğin:
>>> print 2 + 6 / 3 * 5 - 4
işleminin sonucu 8 olacaktır. Tabii biz istersek parantezler yardımıyla Python’ın kendiliğinden kullandığı öncelik sırasını değiştirebiliriz. Bu arada yapacağımız aritmetik işlemlerde sayıları kayan noktalı sayı cinsinden yazmamız işlem sonucunun kesinliği açısından büyük önem taşır. Eğer her defasında ”.0” koymaktan sıkılıyorsanız, şu komutla Python’a, “Bana her zaman kesin sonuçlar göster,” mesajı gönderebilirsiniz:
>>> from __future__ import division
Not
Burada “__” işaretini klavyedeki alt çizgi tuşuna iki kez art arda basarak yapabilirsiniz.
Artık bir sonraki Python oturumuna kadar bütün işlemlerinizin sonucu kayan noktalı sayı olarak gösterilecektir. Bu arada dilerseniz konuyla ilgili bazı ufak tefek teknik bilgiler verelim. Böylece karşılaştığımız örnekleri daha kolay anlayabiliriz. Mesela yukarıda sayılardan bahsettik. Python’da sayılar çeşit çeşittir:
Tamsayılar (integers)
Tamsayılar, herhangi bir ondalık kısım barındırmayan sayılardır. Mesela 3, 5, 6, 100, 1450, -56, -3 vb...
Kayan Noktalı Sayılar (floating point numbers)
Ondalık bir kısım da barındıran sayılardır. Mesela 3.4, 5.5, 6.4, vb... Bu arada ondalık kısmı virgülle değil noktayla gösterdiğimize dikkat edin.
Uzun Sayılar (long integers)
-2.147.483.648 ile 2.147.483.647 arasında kalan sayılardır.
Karmaşık Sayılar (complex numbers)
Karmaşık sayılar bir gerçel, bir de sanal kısımdan oluşan sayılardır. Mesela 34.3j, 2j+4, vb...
Bu sayılar içinde en sık karşılaşacaklarımız tamsayılar ve kayan noktalı sayılardır. Eğer özel olarak matematikle ilgili işler yapmıyorsanız uzun sayılar ve karmaşık sayılar pek karşınıza çıkmaz.
Hatırlarsanız, karakter dizilerinden bahsederken, print‘li ve print‘siz kullanımdan söz etmiştik. Orada sözünü ettiğimiz durum sayılar için de geçerlidir. Mesela şu örneğe bakalım:
>>> 12 - 3.3
8.6999999999999993
Herhalde beklediğiniz çıktı bu değildi. Bu çıktı, 12 - 3.3 işlemini Python’ın nasıl gördüğünü gösteriyor. Eğer bu işlemi insanların anlayabileceği bir biçime getirmek istersek şöyle yazmamız gerekir:
>>> print 12 - 3.3
8.7
İlerde yeri geldiğinde sayılardan daha ayrıntılı bir şekilde bahsedeceğiz. O yüzden sayılar konusunu şimdi bir kenara bırakıp çok önemli başka bir konuya değinelim.
Değişkenler
Kabaca, bir veriyi kendi içinde depolayan birimlere değişken adı veriyorlar. Ama şu anda aslında bizi değişkenin ne olduğundan ziyade neye yaradığı ilgilendiriyor. O yüzden hemen bir örnekle durumu açıklamaya çalışalım. Mesela;
>>> n = 5
ifadesinde n bir değişkendir. Bu n değişkeni 5 verisini sonradan tekrar kullanılmak üzere depolar. Python komut satırında n = 5 şeklinde değişkeni tanımladıktan sonra print n komutunu verirsek ekrana yazdırılacak veri 5 olacaktır. Yani:
>>> n = 5
>>> print n
5
Bu n değişkenini alıp bununla aritmetik işlemler de yapabiliriz:
>>> n * 2
10
>>> n / 2.0
2.5
Hatta bu n değişkeni, içinde bir aritmetik işlem de barındırabilir:
>>> n = 34 * 45
>>> print n
1530
Şu örneklere bir göz atalım:
>>> a = 5
>>> b = 3
>>> print a * b
15
>>> print "a ile b’yi çarparsak", a * b, "elde ederiz"
a ile b’yi çarparsak 15 elde ederiz
Burada değişkenleri karakter dizileri arasına nasıl yerleştirdiğimize, virgülleri nerede kullandığımıza dikkat edin.
Aynı değişkenlerle yaptığımız şu örneğe bakalım bir de:
>>> print a, "sayısı", b, "sayısından büyüktür"
Gördüğünüz gibi, aslında burada yaptığımız şey, karakter dizilerini birbiriyle birleştirmekten ibarettir. Hatırlarsanız bir önceki bölümde iki karakter dizisini şu şekilde birleştirebileceğimizi öğrenmiştik:
>>> print "PoSsYMaC", "Gokhan"
İşte yukarıda yaptığımız şeyin de bundan hiçbir farkı yoktur. Dikkatlice bakın:
>>> print a, "sayısı", b, "sayısından büyüktür"
Yukarıdaki kod şununla eşdeğerdir:
>>> print 5, "sayısı", 3, "sayısından büyüktür"
Biz burada doğrudan sayıları yazmak yerine, bu sayıları tutan değişkenleri yazdık...
Değişkenleri kullanmanın başka bir yolu da özel işaretler yardımıyla bunları karakter dizileri içine gömmektir. Şu örneğe bir bakalım:
>>> print "%s ile %s çarpılırsa %s elde edilir" %(3, 5, 3*5)
Bu da oldukça kullanışlı bir tekniktir. Burada, parantez içinde göstereceğimiz her bir öğe için karakter dizisi içine “%s” işaretini ekliyoruz. Karakter dizisini yazdıktan sonra da “%” işaretinin ardından parantez içinde bu değişkenleri teker teker tanımlıyoruz. Buna göre birinci değişkenimiz 3, ikincisi 5, üçüncüsü ise bunların çarpımı...