Python değişkenleri

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 "", line 1, in 
     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 "", line 1, in 
     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())