**Bu sayfa Vikikitap'a taşınmaya  adaydır.**  

Şayet bu sayfa yeniden yazılarak ansiklopedik bir madde haline getirilebilirse, düzenleyerek bu mesajı kaldırın.

İçeriği Vikikitap'a taşımadan önce, Vikikitap içeriğin Vikikitap'a uygun olup olmadığını inceleyin. Telif gibi durumlardan Vikipedi'ye uygun olmayan bilgiler Vikikitap'a da taşınamazlar.

Bu değişkenler Python Programlama Diline aittir. Bu kodlar ileri programcılık bilgisi gerektirir.

Sayılar
-------

```
>>> 1+1
2
```

```
>>> 3*3
9
```

```
>>> 10/2
5.0
```

Stringler
---------

* Stringler için ilk önce anahtar sözcük yazılır. Sonra eşittir (=) yazılıp tırnak işareti (") ya da tek tırnak içinde (') cümle yazılır.

```
>>> Die="Ich liebe dich."
>>> Die
'Ich liebe dich.'
```

```
>>> a="Ich habe einen "
>>> b="Bruder."
>>> a+b
'Ich habe einen Bruder.'
```

### len() İşlevi

* String uzunluğunu hesaplar. Boşluklar da sayılır.

```
>>> a="Ich habe einen "
>>> b="Bruder."
>>> a+b
'Ich habe einen Bruder.'
>>> len(a)
15
```

* len() yerine \_\_len\_\_() metodu da kullanılabilir.

```
>>> x = "Python güzeldir."
>>> x.__len__()
16
```

Listeler
--------

* Listeleri oluştururken *[* ve *]* köşeli parantezlerini kullanırız.
* İndeksler ise 0'dan başlar.

```
>>> program1=['curbstone', 'tenderness', 'sg240']
>>> program1
['curbstone', 'tenderness', 'sg240']
```

* program1'in 2. elemanının ne olduğunu merak edersek şu uygulamayı kullanırız:

```
>>> program1[2]
'sg240'
```

Unutmayınız ki indeksler 0'dan başlar. Bu yüzden bu örnekte son eleman ikincidir.

* Yeni eleman eklerken bu uygulamayı kullanırız:

```
>>> program1=program1+['retaliation']
>>> program1
['curbstone', 'tenderness', 'sg240', 'retaliation']
```

* program1'in sondan birinci elemanını öğrenmek için bu uygulamayı kullanırız:

```
>>> program1[-1]
'retaliation'
```

### append() Metodu

* Genellikle + işareti yerine append tercih edilir.

Listeye sondan eleman ekler.

```
>>> program1.append('python')
>>> program1
['curbstone', 'tenderness', 'sg240', 'retaliation', 'python']
```

### count() Metodu

* Bir liste içindeki nesnenin kaç kere tekrarlandığını hesaplar.

```
>>> program1
['curbstone', 'tenderness', 'sg240', 'retaliation', 'python']
>>> program1.append('python')
>>> program1
['curbstone', 'tenderness', 'sg240', 'retaliation', 'python', 'python']
>>> program1.count('python')
2
>>> program1.count('tenderness')
1
>>> program1.count('emptiness')
0
```

### index() Metodu

* Bir liste içindeki elemanın kaçıncı sırada olduğunu gösterir.

```
>>> program1.index('retaliation')
3
```

* Birden fazla eleman varsa ilk sıradakini gösterir.

```
>>> program1.index('python')
4
```

### insert() Metodu

* Bir listenin içindeki herhangi bir yere yeni eleman eklemeye yarar.

```
>>> program1
['curbstone', 'tenderness', 'sg240', 'retaliation', 'python', 'python']
>>> program1.insert(3,'pressure')
>>> program1
['curbstone', 'tenderness', 'sg240', 'pressure', 'retaliation', 'python', 'python']
```

### pop() Metodu

* Listedeki son elemanı listeden çıkartır.

```
>>> program1.pop()
'python'
>>> program1
['curbstone', 'tenderness', 'sg240', 'pressure', 'retaliation', 'python']
>>> 
```

### remove() Metodu

* Herhangi bir elemanı listeden çıkartır.

```
>>> program1.remove('retaliation')
>>> program1
['curbstone', 'tenderness', 'sg240', 'pressure', 'python']
```

### reverse() Metodu

* Liste elemanlarını sondan başa doğru sıralar.

```
>>> program1.reverse()
>>> program1
['python', 'pressure', 'sg240', 'tenderness', 'curbstone']
```

### sort() Metodu

* En çok kullanılan işlevlerden biridir. Listedeki elemanları alfabetik sıraya dizer. Sayılar önce gelir.

```
>>> program1.append('1.618')
>>> program1
['python', 'pressure', 'sg240', 'tenderness', 'curbstone', '1.618']
>>> program1.sort()
>>> program1
['1.618', 'curbstone', 'pressure', 'python', 'sg240', 'tenderness']
```

### len() İşlevi

* Cümle değişkenlerinde olduğu gibi bu işlev, liste değişkenlerinin uzunluğunu hesaplar.

```
>>> len(program1)
6
```

* Bir listeyi çarpabiliriz:

```
>>> program1*2
['1.618', 'curbstone', 'pressure', 'python', 'sg240', 'tenderness', '1.618', 'curbstone', 'pressure',
'python', 'sg240', 'tenderness']
```

Demetler
--------

* Demetlerde *(* ve *)* parantezlerini kullanırız.
* Demetler listelere benzerler; ama asıl kullanılma amaçları içeriklerinin değiştirilmesini önlemektir. Demetlerin içeriği her zaman sabittir. Yanlışlıkla da olsa değerinin değiştirilmesini istemediğiniz bir değişkene gereksiniminiz varsa demetleri kullanırsınız.

```
>>> program2=('aa11','permanent')
>>> program2
('aa11', 'permanent')
```

* Örneğin; permanent elemanını silmeye çalışalım:

```
>>> program2.remove('permanent')
Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    program2.remove('permanent')
AttributeError: 'tuple' object has no attribute 'remove'
```

* Bu şekilde bir hata iletisi ekrana gelecektir. permanent bir demet değişkeni içinde olduğu için silinememiştir.
* Demetlere ekleme de yapamayız:

```
>>> program2.append('addition')
Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    program2.append('addition')
AttributeError: 'tuple' object has no attribute 'append'
```

* Ama uzunluğunu ölçebiliriz:

```
>>> len(program2)
2
```

* Demetlere değer de yükleyebiliriz:

```
>>> (z45,aa23)=('deneme','not')
>>> z45
'deneme'
>>> aa23
'not'
```

Sözlükler
---------

* Sözlükleri tanımlarken *{* ve *}* işaretlerini kullanırız.
* Veritabanı uygulamalarında sık kullanılan bir değişken türüdür.
* anahtar={'değer'} şeklinde bir yazılımı vardır.

```
>>> sifreler={'hotmail':'123456','yahoo':'abcdef','gmail':'123456abcdef'}
>>> sifreler
{'hotmail': '123456', 'yahoo': 'abcdef', 'gmail': '123456abcdef'}
>>> sifreler['gmail']
'123456abcdef'
```

* Bir sözlükte herhangi bir anahtarın değerini değiştirmek için şu uygulamayı kullanırız:

```
>>> sifreler['hotmail']='654321'
>>> sifreler
{'hotmail': '654321', 'yahoo': 'abcdef', 'gmail': '123456abcdef'}
```

* Sadece bir anahtarın değerini öğrenmek için şu uygulamayı kullanırız:

```
>>> sifreler['hotmail']
'654321'
```

### keys() Metodu

* Sözlüklerdeki anahtarları gösterir.

```
>>> sifreler.keys()
['hotmail', 'yahoo', 'gmail']
```

### has\_key() Metodu

* Sözlüğün içinde aranan anahtarın olup olmadığını sorgular.

```
>>> sifreler.has_key('hotmail')
True
>>> sifreler.has_key('mynet')
False
```

### values() Metodu

* Sözlükteki değerleri gösterir.

```
>>> sifreler.values()
['123456', 'abcdef', '123456abcdef']
```

### items() Metodu

* Sözlükteki anahtarları ve değerleri aynı anda gösterir.

```
>>> sifreler.items()
[('hotmail', '123456'), ('yahoo', 'abcdef'), ('gmail', '123456abcdef')]
```

### del xxx['x'] Deyimi

* Sözlükteki herhangi bir anahtarı siler.

```
>>> del sifreler['hotmail']
>>> sifreler
{'yahoo': 'abcdef', 'gmail': '123456abcdef'}
```

### clear() Metodu

* Sözlüğün tamamını siler.

```
>>> sifreler.clear()
>>> sifreler
{}
```

### update() Metodu

* Seçilen sözlüğü bir başka sözlüğün içine aktarır.

```
>>> sifreler1={'hotmail':'sifre1'}
>>> sifreler2={'gmail':'sifre2'}
>>> sifreler1.update(sifreler2)
>>> sifreler1
{'hotmail': 'sifre1', 'gmail': 'sifre2'}
>>> sifreler2
{'gmail': 'sifre2'}
```

Dosyalar
--------

* C:\\ komutu kısaca \\ şeklinde yazılabilir. Python, harddisk'in hangi sürücüsüne yüklendiyse orayı kaynak kabul edecektir.

### Dosya Açma - Yazma - Okuma

* deneme.txt adında bir dosya oluşturalım ve içine "Bu bir denemedir." yazdıralım.
* 'w' yazmayı, 'r' ise okumayı simgeler.

```
>> # yazma
>> file = open("deneme.txt", "w")
>> file.write("Bu bir denemedir.")
```

```
>> # okuma
>> file2 = open("deneme.txt", "r")
>> print(file2.read())
```