Sayılara ek olarak, Python dizgeler uzerinde de işlemler yapabilir. Dizgeler farklı şekillerde ifade edilebilir. Tek veya cift tırnak işareti icine alınabilirler: >>> 'dizge' 'dizge' >>> "Python\'un gucu" "Python'un gucu" >>> "doesn't" "doesn't" >>> '"Yes," he said.' '"Yes," he said.' >>> ""Yes," he said." '"Yes," he said.' >>> '"Isn\'t," she said.' '"Isn\'t," she said.' Dizgeler birkac şekilde birden fazla satıra yayılabilirler. Yeni satırlar ters eğik cizgi ile şoyle gosterilebilirler: >>> merhaba = "Bu C de de kullandığınıza benzer\n\ ... birkac satır kaplayan bir dizge.\n\ ... Bu satırın başındaki \ ... girintinin belirgin olduğuna \ ... dikkat edin\n" >>> print merhaba ve bu şu cıktıyı verir: Bu C de de kullandığınıza benzer birkac satır kaplayan bir dizge. Bu satırın başındaki girintinin belirgin olduğuna dikkat edin >>> Karakter dizisini r ile imleyerek ham dizge yapacak olursak, \n\ karakterleri yorumlanmaz, dizgenin bir parcası haline gelirler. Orneğin: merhaba = r"Bu C de de kullandığınıza benzer\n\ birkac satır kaplayan bir karakter dizisi." print merhaba şu cıktıyı verir: Bu C de de kullandığınıza benzer\n\ birkac satır kaplayan bir karakter dizisi. Karakter dizileri bir cift uclu tırnak icinde de gosterilebilirler: Dizgeler bir cift uclu tırnak icinde de gosterilebilirler: """ veya '''. Bu gosterim şeklinde satır sonlarının \n ile gosterilmesine gerek yoktur ve onlar olmadan da yeni satırlar doğru şekilde gorunurler. Ornek: print """ Kullanım şekli : seninprog [SECENEKLER] -y Bu yardım mesajını goruntuler -S bağlanılacak sunucu adı """ ifadesi şu cıktıyı verir : Kullanım şekli : seninprog [SECENEKLER] -y Bu yardım mesajını goruntuler -S bağlanılacak sunucu adı Yorumlayıcı dizge işlemlerinin sonucunu girişine yazıldığı şekli ile cıkışa yazar. Dizgeler + işleci ile birleştirilip, * ile tekrarlanabilirler: kelime = 'Alo' + 'ooo' >>> kelime 'Aloooo' >>> '' '' Yan yana iki dizge değişkeni otomatik olarak birleştirilir yani yukarıdaki ornekteki ilk satır kelime = 'Alo' 'ooo' şeklinde de yazılabilirdi. Bu sadece iki dizge değişkeni ile olur. Keyfî dizgeler arasında olamaz: import string >>> 'str' 'ing' # >> string.strip('str') + 'ing' # >> string.strip('str') 'ing' # >> kelime[0] = 'x' Traceback (most recent call last): File "", line 1, in ? TypeError: object doesn't support item assignment >>> kelime[:1] = 'Splat' Traceback (most recent call last): File "", line 1, in ? TypeError: object doesn't support slice assignment Yukarıdaki soruna elde edilmek istenen dizge icin yeni bir karakter dizisi oluşturularak cozum bulunabilir. Bu kolay ve etkilidir: 'x' + kelime[1:] 'xloooo' >>> 'Splat' + kelime[4] 'Splato' Dilimlerin varsayılan başlangıc ve bitiş değerleri oldukca kullanışlıdır. Başlangıc değeri yoksa sıfır kabul edilir ve eğer bitiş değeri yoksa dilimlenen dizgenin boyu kadar olduğu kabul edilir. Ornekler : >>> kelime[:2] # İlk iki karakter 'Al' >>> kelime[2:] # İlk iki karakter dışındaki karakterler 'oooo' s[:i] + s[i:] = s olup dilimleme işlemlerinin kullanışlı bir şeklidir. Ornek: >>> kelime[:2] + kelime[2:] 'Aloooo' >>> kelime[:3] + kelime[3:] 'Aloooo' Cok buyuk veya kucuk dilim aralıkları akıllıca ele alınır. Bitiş değeri buyuk ise bunun boyu dizgenin boyuna eşit olur. Başlangıc değeri bitişten buyuk ise boş bir dizge elde edilir. >>> kelime[1:100] 'loooo' >>> kelime[10:] '' >>> kelime[2:1] '' İndisler negatif sayılar da olabilirler. Bu durumda saymaya sağ taraftan başlanır. >>> kelime[-1] # Son karakter 'o' >>> kelime[-2] # Sondan ikinci 'o' >>> kelime[-2:] # Son iki karakter 'oo' >>> kelime[:-2] # Son iki karakter dışındaki karakterler 'Aloo' -0 ın 0 ile aynı olduğuna dikkat edin; yani yine soldan sayar! >>> kelime[-0] # (-0 = 0 olduğundan) 'A' Sınır dışındaki negatif dilim indisleri kucultulurler; fakat bunu dilim olmayan tek bir indis ile denemeyin: >>> kelime[-100:] 'Aloooo' >>> kelime[-10] # hata ! Traceback (most recent call last): File "", line 1 IndexError: string index out of range Dilimlerin nasıl calıştığını hatırlamanın en iyi yolu indislerin karakterler arasını işaret ettiğini duşunmektir; şu şekilde bu daha iyi gorulebilir: +---+---+---+---+---+ | H | e | l | p | A | +---+---+---+---+---+ 0 1 2 3 4 5 -5 -4 -3 -2 -1 Negatif olmayan indisler icin dilim boyu indisler arası fark kadardır. Orneğin kelime[1:3] diliminin boyu 2 dir. Yerleşik işlev len() bir dizgenin boyunu verir. >>> s = 'ArrestedDevelopmentZingalamaduni' >>> len(s) 32
__________________