+PYTHON-icindekiler 2/9/10 11:42 PM Page vii ‹Ç‹NDEK‹LER KISIM I: TEMEL KONULAR 1 TEMEL B‹LG‹LER Python’u Nereden Bulabilirim? GNU/Linux Microsoft Windows Python Nas›l Çal›flt›r›l›r? print Komutu Python’da Say›lar ve Matematik ‹fllemleri De¤iflkenler Metin Düzenleyici Kullan›larak Python Program› Nas›l Yaz›l›r? Kullan›c›yla ‹letiflim: Veri Al›fl-Verifli raw_input() Fonksiyonu input() Fonksiyonu 3 4 4 5 6 8 10 13 15 22 23 26 2 PYTHON’DA KOfiULA BA⁄LI DURUMLAR if else elif Python’da Girintileme Sistemi 29 30 34 34 38 3 PYTHON’DA DÖNGÜLER while Döngüsü for Döngüsü range() Fonksiyonu len() Fonksiyonu break Deyimi continue Deyimi 41 42 48 49 50 51 53 4 PYTHON’DA L‹STELER, DEMETLER VE SÖZLÜKLER Listeler append insert extend remove pop Parçac›¤› index 55 55 57 59 59 60 60 61 +PYTHON-icindekiler 2/9/10 11:42 PM Page viii viii PYTHON sort reverse count Demetler Sözlükler 62 62 62 65 67 5 PYTHON’DA FONKS‹YONLAR Fonksiyonlar› Tan›mlamak Fonksiyonlarda Parametre Kullan›m› ‹simli Argümanlar Gömülü Fonksiyonlar (Built-in Functions) global Deyimi return Deyimi pass Deyimi 73 75 79 85 91 92 97 100 6 MODÜLLER Modülleri ‹çe Aktarma (Importing Modules) os Modülü name Niteli¤i listdir Fonksiyonu getcwd Fonksiyonu chdir Fonksiyonu mkdir() ve makedirs() Fonksiyonlar› rmdir() ve removedirs() Fonksiyonlar› ossep Niteli¤i 103 104 111 112 114 115 116 117 119 121 7 DOSYA ‹fiLEMLER‹ Yeni Bir Dosya Oluflturma Dosyaya Veri ‹flleme Bir Dosyadan Veri Okuma Dosyaya De¤iflken Yazd›rma Dosya Silme Dosyan›n Herhangi Bir Yerine Sat›r Ekleme 125 125 128 130 134 135 135 8 HATALARI G‹DERMEK De¤iflken ‹smine ‹liflkin Hatalar (NameError) Sözdizimine ‹liflkin Hatalar (SyntaxError) Hata Kodu Vermeden Hata Yakalama Hatalarla Bafl Etmede “pass” ‹fadesi 137 138 139 140 142 +PYTHON-icindekiler 2/9/10 11:42 PM Page ix ‹Ç‹NDEK‹LER ix 9 KARAKTER D‹Z‹LER‹N‹N METOTLARI Kullan›labilir Metotlar› Listelemek capitalize Metodu upper Metodu lower Metodu swapcase Metodu title Metodu center Metodu ljust Metodu rjust Metodu zfill Metodu replace Metodu startswith Metodu endswith Metodu count Metodu isalpha Metodu ›sdigit Metodu isalnum Metodu islower Metodu isupper Metodu istitle Metodu isspace Metodu expandtabs Metodu find Metodu rfind Metodu index Metodu rindex metodu join Metodu translate Metodu partition Metodu rpartition Metodu strip Metodu rstrip Metodu lstrip Metodu splitlines Metodu split Metodu rsplit Metodu 145 146 148 149 151 152 153 153 154 154 154 155 156 157 158 159 159 160 161 161 162 163 164 164 166 166 167 167 168 171 171 172 172 173 173 173 175 +PYTHON-icindekiler 2/9/10 11:42 PM Page x x PYTHON 10 DÜZENL‹ ‹FADELER (REGULAR EXPRESSIONS) Düzenli ‹fadelerin Metotlar› match() Metodu search() Metodu findall() Metodu Metakarakterler [ ] (Köfleli Parantez) . (Nokta) * (Y›ld›z) + (Art›) ? (Soru ‹flareti) { } (Küme Parantezi) ^ (fiapka) $ (Dolar) \ (Ters Bölü) | (Dik Çizgi) ( ) (Parantez) Eflleflme Nesnelerinin Metotlar› group() Metodu groups() Metodu Özel Diziler Ondal›k Say›lar›n Yerini Tutan Özel Dizi: \d Alfanümerik Karakterlerin Yerini Tutan Özel Dizi: \w Düzenli ‹fadelerin Derlenmesi compile() Metodu compile() ile Derleme Seçenekleri Düzenli ‹fadelerle Metin/Karakter Dizisi De¤ifltirme ‹fllemleri sub() Metodu subn() Metodu Sonuç 177 178 179 184 186 188 191 194 196 199 201 203 204 207 208 209 210 213 213 214 215 216 217 220 220 222 225 225 231 232 11 NESNE TABANLI PROGRAMLAMA: OOP (NTP) Neden Nesne Tabanl› Programlama? S›n›flar S›n›f Tan›mlamak S›n›flar› Çal›flt›rmak Örnekleme (Instantiation) 233 233 235 235 236 238 +PYTHON-icindekiler 2/9/10 11:42 PM Page xi ‹Ç‹NDEK‹LER xi Çöp Toplama (Garbage Collection) Niteliklere De¤inme (Attribute References) self Nedir? Miras Alma (Inheritance) Eski ve Yeni S›n›flar Sonuç 239 241 247 256 267 269 12 ascii, unicode ve PYTHON Girifl ascii unicode Python’da unicode Deste¤i Python Betiklerinde unicode Deste¤i unicode() Fonksiyonu encode() ve decode() Metotlar› unicodedata Modülü codecs Modülü 271 271 272 280 285 288 290 295 298 299 13 B‹Ç‹M DÜZENLEY‹C‹LER Biçim Düzenlemede Kullan›lan Karakterler “d” Harfi “i” Harfi “o” Harfi “x” Harfi “X” Harfi “f” Harfi “c” Harfi ‹leri Düzeyde Karakter Dizisi Biçimlendirme Karakter Dizisi Biçimlendirmede Sözlükleri Kullanmak Say›larda Hassas Biçimlendirme Say›lar›n Soluna S›f›r Eklemek Karakter Dizilerini Hizalamak Karakter Dizilerini Hem Hizalamak Hem de Sola S›f›r Eklemek 301 304 304 305 305 305 306 306 306 308 309 311 311 313 315 KISIM II: ÖZEL KONULAR 14 math MODÜLÜ Üslü ‹fadeler (pow) PI say›s› (pi) 319 320 320 +PYTHON-icindekiler 2/9/10 11:42 PM Page xii xii PYTHON Karekök (sqrt) Euler Sabiti (e) exp() Fonksiyonu Logaritma (log) log10() Fonksiyonu degress() Fonksiyonu radians() Fonksiyonu Kosinüs (cos) Sinüs (sin) Tanjant (tan) 321 321 322 322 322 323 323 323 324 325 15 PYTHON’DA Id() FONKS‹YONU, Is ‹fiLEC‹ VE ÖNBELLEKLEME MEKAN‹ZMASI 327 16 WINDOWS’TA PYTHON’U YOL’A (PATH) EKLEMEK 335 17 PYTHON’DA PDF ‹fiLEMLER‹: pyPdf KÜTÜPHANES‹ pyPdf Modülü Yard›m›yla pdf Bilgilerine Ulaflmak pyPdf ile pdf Belgelerinden Sayfa Almak Pdf Belgelerinin Sayfa Say›s›n› Ö¤renmek 343 344 348 351 18 PYTHON VE OpenOffice PyUno’nun Kurulumu OpenOffice’i Dinleme Kipinde Açmak (Listening Mode) OpenOffice’e Ba¤lanmak Karakter Biçimlendirme Kal›n Karakterler (bold) Yana Yat›k Karakterler (italic) Alt› Çizgili Karakterler (underline) Üstü Çizili Karakterler (strikeout) Yan›p Sönen Karakterler (flash) Gölgeli Karakterler (shadow) ‹çi Bofl Karakterler (contour) Karakterleri Renklendirme CharColor CharBackColor PyUno, Python ve OpenOffice Hakk›nda Bilgi Veren Kaynaklar 353 354 356 360 365 366 367 368 368 369 369 369 369 369 371 371 +PYTHON-icindekiler 2/9/10 11:42 PM Page xiii ‹Ç‹NDEK‹LER xiii KISIM III: ARAYÜZ 19 GRAF‹K ARAYÜZ TASARIMI/ TEMEL B‹LG‹LER Pencere Oluflturmak Pencere Bafll›¤› Renkler fg Seçene¤i bg Seçene¤i Yaz› Tipleri (Fonts) Metin Biçimlendirme ‹mleçler Pencere Boyutu Tekrar 375 377 385 388 388 391 392 393 393 394 396 20 PENCERE ARAÇLARI (WIDGETS): 1. BÖLÜM “Label” Pencere Arac› “Button” Pencere Arac› “Entry” Pencere Arac› Frame() 401 401 402 408 412 21 GEOMETR‹ YÖNET‹C‹LER‹ pack() Geometri Yöneticisi grid() Geometri Yöneticisi place() Geometri Yöneticisi 417 419 432 439 22 PENCERE ARAÇLARI (WIDGETS): 2. BÖLÜM “Checkbutton” Pencere Arac› “Toplevel” Pencere Arac› “Listbox” Pencere Arac› “Menu” Pencere Arac› “Text” Pencere Arac› “Scrollbar” Pencere Arac› 441 441 448 451 461 466 471 23 Tkinter UYGULAMALARINI GÜZELLEfiT‹RMEK Tkinter Programlar›n›n Renk fiemas›n› De¤ifltirmek Pencere Araçlar›na Simge Eklemek Pencere Araçlar›na ‹pucu Metni (Tooltip) Eklemek 475 475 479 483 24 NASIL YAPILIR? Tkinter’de Fare ve Klavye Hareketleri (Events and Bindings) 489 489 +PYTHON-icindekiler 2/9/10 11:42 PM Page xiv xiv PYTHON “Listbox” Ö¤elerine Görev Atamak Pencereleri Bafll›ks›z Hale Getirmek Pencere/Ekran Koordinatlar› ve Boyutlar› Program› Tam Ekran Olarak Çal›flt›rmak Ekran› Ortalamak Pencereleri Her Zaman En Üstte Tutmak 25 STANDART B‹LG‹ PENCERELER‹ (STANDARD DIALOGS) Hata Mesaj› Gösteren Pencere Bilgi Mesaj› Gösteren Pencere Uyar› Mesaj› Gösteren Pencere 502 505 507 515 516 517 521 522 530 533