Tekrardan merhabalar TurkHackTeam ailesi, geçtiğimiz konuda Python'un ne olduğunu, GNU/Linux ve Windows ortamlarda kod editörü kurulumunu göstermiştik. Bu konuda ise kod yapısına giriş yapalım.
Karakter Dizileri
Geçtiğimiz ayda "Merhaba Dünya" yazdırmıştık. Bu yazı aslında bir karakter dizisidir. Karakter dizisini duymamış olabilirsiniz fakat İngilizce karşılığını bir yerlerden duymuş olma ihtmaliniz yüksek İngilizce'de String denir ve programlama için büyük önem arz etmektedir.
Tanımsal olarak bakarsak Karakter Dizileri (string) bir veya birden fazla karakterden (alfabe, sayı, özel işaretler) meydana gelmektedir.
Şu an "Ha string olmuş ha başka bir şey ne fark eder?" dediğinizi duyar gibiyim. Ancak programlama dillerinde yazdığımız kodun türünü bilmemiz büyük önem taşımaktadır. Verinin tipini öğrenirsek, o veri ile neler yapıp yapamayacağımızı anlamış oluruz. Python'da karakter dizileri haricinde birçok veri tipi bulunmaktadır ve hepsinin işlevi, yapabildikleri farklıdır.
Geçen ayda ki sayımızda "Merhaba Dünya" yazdık. Karakter dizilerinde ki önemli husus tırnak işaretleridir. Tırnak işaretleri karakter dizilerinin vazgeçilmez parçasıdır. Gelin bir de tırnak işaretsiz yazalım;
Gördüğünüz gibi hata aldık. Bu bir karakter dizisi değildir. Karakter dizileri tırnak işareti ile gösterilir. Örnek olarak tek karakterli bir dizi verelim;
bu bir tek karakterli dizidir. Boş bir karakter dizisi de olabilir
çıktı olarak boş bir karakter verdi bizlere.
Ancak Python'da boş bir karakter dizisi ile bir boşluk ile oluşan karakter dizisi dağlar kadar fark vardır. Birisinde hiçbir öge bulunmaz fakat bir boşluktan oluşan karakter dizisinde, boşlukların her biri bir karakterdir. Bu önemli bir husustur çünkü kod yazarken boşluk bırakırsanız hiç ummadığınız yerde hata alabilirsiniz.
Sizlerde kendinize göre alıştırmalar yapabilirsiniz örnek olarak;
bu örnekler daha da arttırılabilir.
Peki karakter dizilerini yaptık ancak bunlar karakter dizileri diyorsun da acaba farklı bir şey olabilir mi? Bunu öğrenmek için type() fonksiyonunu kullanacağız. Type fonksiyonu bir verinin türünü belirlemektedir.
çıktısını aldık. Burada str yani string demektir.
Karakter dizilerinin ne olduğunu, bir verinin türüne nasıl bakıldığını öğrendik. Şimdi karakter dizileri ile ilgili ilginç örnekler yapalım. Örnek olarak karakter dizilerini birleştirelim.
Burada bitişik yazdı çünkü boşluk karakteri yok. Bu kısma özellikle dikkat edin arkadaşlar çünkü ileri de sitelere istek gönderirken veya bir veri dizisini birleştirirken buna ihtiyacımız olacak. Bunun üç türlü yolu var.
1. Yol aralarına " " eklemek.
Gördüğünüz gibi arada bir karakter boş bıraktı ve kelimeleri ayırdı.
2. Yol ilk kelimenin sonuna boşluk koymak
Gördüğünüz gibi bunda da aynı şekilde bir karakter boşluk bırakarak yazdı.
3.Yol ikinci kelimenin başına boşluk koymak
Sizlere üç yol gösterdim bu şekilde yapabilirsiniz, ileride çok işinize yarayacaktır.
Bir kelimeyi birden fazla yazmak isterseniz ise "*" (çarpma) işaretini kullanacağız. Bir kelimeden veya bir işaretten birden fazla yapmak istiyorsunuz ancak tek tek de uğraşmak istemiyorsanız bu kolay yolu kullanabilirsiniz.
Python komut satırına
Çıktı olarak bitişik 5 adet 'deneme' yazısını verdi.
Ayrı yazmak isterseniz de üstte öğrendiğimiz gibi başına ya da sonuna bir boşluk koyunuz.
yazalım ve çıktımıza bakalım.
Gördüğünüz gibi birçok yolu var kendinizi geliştirmenin. Karakter dizilerinde "+" (birleştirme), "*" (çarpma) olarak kullanılmaktadır. Toplama ile seçtiğiniz iki karakteri birleştirir, çarpma özelliğinde ise belirlediğiniz karakteri istediğiniz kadar yazar. "-" (çıkarma) ve "/" (bölme) özellikleri karakter dizilerinde mevcut değildir. Onlar sayı dizilerinde vardır, birazdan onları da anlatacağım.
Sayı Dizileri
Karakter dizileri kısmındayken birçok veri tipi olduğunu söylemiştim. Sayı dizileri onlardan birisidir. Sayı (number) dizileri için de birçok özellik vardır. Gelin bunlara da bakalım.
Python komut satırını açalım ve herhangi bir sayı yazalım.
Gördüğünüz gibi çıktı olarak direk sayımızı verdi bizlere. Sayılar dediğimizde birçok sayı türü var; tam sayı, ondalıklı sayı, karmaşık sayı... Bunların gösterimleri de farklı oluyor haliyle.
Örnek olarak
çıktılarını aldık. Burada 2.3 sayısı ondalıklı (float) bir sayıdır. Tipine baktığımızda da bunun bir ondalıklı sayı olduğunu anladık zaten. (12+3j) ise bir karmaşık sayıdır (complex)''dır. Tipine baktığımızda da karmaşık sayı olduğunu görebiliriz.
Sayı dizilerinden örneklerle devam edelim. Dört işlem yapmaya çalışalım fakat ilk öncelikle hangi operatörler ne anlama geliyor ona bakalım.
+ : Toplama
- : Çıkarma
* : Çarpma
/ : Bölme
// : Tam Bölme
% : Kalan Bulma
** : Üst Alma
şeklindedir. Bunlarla örnekler yapalım;
gibi örnekler ile olayı kavrayabilirsiniz.
Peki sayılar gerçekten sayı mı? Yani 100 sayısının tipine baktığımızda;
yani int ifadesi, İngilizce Integer(Tam sayı)'dir.
Fakat "100" bir sayı mı karakter mi?
gördüğünüz gibi bir karakter dizisidir.
Bu ayrıma dikkat etmelisiniz aksi halde kod yazmaya başladığınızda birçok hata ile karşılaşırsınız. Sayıları karakter dizilerindeki gibi çift tırnak içine alıp toplamaya kalkarsak ne olur?
Örnek olarak;
şeklinde bir çıktı aldık. Çift tırnak içine aldığımız için karakter dizisine dönüştü. Karakter dizilerinde + işareti birleştirme anlamına geldiği için burada da birleştirme görevini gördü.
Karakter dizilerini ve sayı dizilerini toplama işlemi yapabilir miyiz acaba?
Mesela;
hatasını aldık. Yani bir int(Tam sayı değeri) ile str(karakter dizisi) ile bir işlem yapamazsınız.
Bu konuluk da bu kadardı arkadaşlar, diğer konuda değişkenlere girerek asıl işin içerisine gireceğiz.
)
Karakter Dizileri
Geçtiğimiz ayda "Merhaba Dünya" yazdırmıştık. Bu yazı aslında bir karakter dizisidir. Karakter dizisini duymamış olabilirsiniz fakat İngilizce karşılığını bir yerlerden duymuş olma ihtmaliniz yüksek İngilizce'de String denir ve programlama için büyük önem arz etmektedir.
Tanımsal olarak bakarsak Karakter Dizileri (string) bir veya birden fazla karakterden (alfabe, sayı, özel işaretler) meydana gelmektedir.
Şu an "Ha string olmuş ha başka bir şey ne fark eder?" dediğinizi duyar gibiyim. Ancak programlama dillerinde yazdığımız kodun türünü bilmemiz büyük önem taşımaktadır. Verinin tipini öğrenirsek, o veri ile neler yapıp yapamayacağımızı anlamış oluruz. Python'da karakter dizileri haricinde birçok veri tipi bulunmaktadır ve hepsinin işlevi, yapabildikleri farklıdır.
Geçen ayda ki sayımızda "Merhaba Dünya" yazdık. Karakter dizilerinde ki önemli husus tırnak işaretleridir. Tırnak işaretleri karakter dizilerinin vazgeçilmez parçasıdır. Gelin bir de tırnak işaretsiz yazalım;
Kod:
>>>Merhaba Dünya
Gördüğünüz gibi hata aldık. Bu bir karakter dizisi değildir. Karakter dizileri tırnak işareti ile gösterilir. Örnek olarak tek karakterli bir dizi verelim;
Kod:
>>>"x"
Kod:
>>>""
Ancak Python'da boş bir karakter dizisi ile bir boşluk ile oluşan karakter dizisi dağlar kadar fark vardır. Birisinde hiçbir öge bulunmaz fakat bir boşluktan oluşan karakter dizisinde, boşlukların her biri bir karakterdir. Bu önemli bir husustur çünkü kod yazarken boşluk bırakırsanız hiç ummadığınız yerde hata alabilirsiniz.
Sizlerde kendinize göre alıştırmalar yapabilirsiniz örnek olarak;
Kod:
>>>"Ali"
'Ali'
"Türkiye"
'Türkiye'
"Türk Dil Kurumu"
'Türk Dil Kurumu'
Peki karakter dizilerini yaptık ancak bunlar karakter dizileri diyorsun da acaba farklı bir şey olabilir mi? Bunu öğrenmek için type() fonksiyonunu kullanacağız. Type fonksiyonu bir verinin türünü belirlemektedir.
Kod:
>>>type("Deneme")
<class 'str'>
Karakter dizilerinin ne olduğunu, bir verinin türüne nasıl bakıldığını öğrendik. Şimdi karakter dizileri ile ilgili ilginç örnekler yapalım. Örnek olarak karakter dizilerini birleştirelim.
Kod:
>>>"python" + "öğreniyorum"
'pythonöğreniyorum'
Burada bitişik yazdı çünkü boşluk karakteri yok. Bu kısma özellikle dikkat edin arkadaşlar çünkü ileri de sitelere istek gönderirken veya bir veri dizisini birleştirirken buna ihtiyacımız olacak. Bunun üç türlü yolu var.
1. Yol aralarına " " eklemek.
Kod:
"python" + " " + "öğreniyorum"
'python öğreniyorum'
Gördüğünüz gibi arada bir karakter boş bıraktı ve kelimeleri ayırdı.
2. Yol ilk kelimenin sonuna boşluk koymak
Kod:
"python " + "öğreniyorum"
'python öğreniyorum'
Gördüğünüz gibi bunda da aynı şekilde bir karakter boşluk bırakarak yazdı.
3.Yol ikinci kelimenin başına boşluk koymak
Kod:
"python" + " öğreniyorum"
'python öğreniyorum'
Sizlere üç yol gösterdim bu şekilde yapabilirsiniz, ileride çok işinize yarayacaktır.
Bir kelimeyi birden fazla yazmak isterseniz ise "*" (çarpma) işaretini kullanacağız. Bir kelimeden veya bir işaretten birden fazla yapmak istiyorsunuz ancak tek tek de uğraşmak istemiyorsanız bu kolay yolu kullanabilirsiniz.
Python komut satırına
Kod:
"deneme" *5
'denemedenemedenemedenemedeneme'
Çıktı olarak bitişik 5 adet 'deneme' yazısını verdi.
Ayrı yazmak isterseniz de üstte öğrendiğimiz gibi başına ya da sonuna bir boşluk koyunuz.
Kod:
"deneme " * 5
'deneme deneme deneme deneme deneme '
Gördüğünüz gibi birçok yolu var kendinizi geliştirmenin. Karakter dizilerinde "+" (birleştirme), "*" (çarpma) olarak kullanılmaktadır. Toplama ile seçtiğiniz iki karakteri birleştirir, çarpma özelliğinde ise belirlediğiniz karakteri istediğiniz kadar yazar. "-" (çıkarma) ve "/" (bölme) özellikleri karakter dizilerinde mevcut değildir. Onlar sayı dizilerinde vardır, birazdan onları da anlatacağım.
Sayı Dizileri
Karakter dizileri kısmındayken birçok veri tipi olduğunu söylemiştim. Sayı dizileri onlardan birisidir. Sayı (number) dizileri için de birçok özellik vardır. Gelin bunlara da bakalım.
Python komut satırını açalım ve herhangi bir sayı yazalım.
Kod:
>>>10
10
Gördüğünüz gibi çıktı olarak direk sayımızı verdi bizlere. Sayılar dediğimizde birçok sayı türü var; tam sayı, ondalıklı sayı, karmaşık sayı... Bunların gösterimleri de farklı oluyor haliyle.
Örnek olarak
Kod:
>>>2.3
2.3
>>>type(2.3)
<class 'float'>
>>>(12+3j)
(12+3j)
>>>type(12+3j)
<class 'complex'>
Sayı dizilerinden örneklerle devam edelim. Dört işlem yapmaya çalışalım fakat ilk öncelikle hangi operatörler ne anlama geliyor ona bakalım.
+ : Toplama
- : Çıkarma
* : Çarpma
/ : Bölme
// : Tam Bölme
% : Kalan Bulma
** : Üst Alma
şeklindedir. Bunlarla örnekler yapalım;
Kod:
>>>17+12
29
>>>15-5
10
>>>160/8
20.0
>>> 160//8
20
>>> 23%4
3
>>> 2**7
128
Peki sayılar gerçekten sayı mı? Yani 100 sayısının tipine baktığımızda;
Kod:
>>> type(100)
<class 'int'>
Fakat "100" bir sayı mı karakter mi?
Kod:
>>> type("100")
<class 'str'>
Bu ayrıma dikkat etmelisiniz aksi halde kod yazmaya başladığınızda birçok hata ile karşılaşırsınız. Sayıları karakter dizilerindeki gibi çift tırnak içine alıp toplamaya kalkarsak ne olur?
Örnek olarak;
Kod:
>>> "10" + "23332"
'1023332'
Karakter dizilerini ve sayı dizilerini toplama işlemi yapabilir miyiz acaba?
Mesela;
Kod:
>>> "90" + 90
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
"90" + 90
TypeError: can only concatenate str (not "int") to str
Bu konuluk da bu kadardı arkadaşlar, diğer konuda değişkenlere girerek asıl işin içerisine gireceğiz.
Son düzenleme:




