Bir Python Muamması: Comment İçerisindeki Non-ASCII Karakterin Hata Sayılması

Az önce en sevdiğim Python programlama dili kitaplarından biri olan Think Python – How to Think Like a Computer Scientist (Version 1.1.22) ‘ın exercise set’ini yapıp Çankaya Üniversitesindeki öğrenci sunucusuna koyup kitap ile birlikte ordan paylaşmayı düşünmüştüm. Fakat bunun için önce Bütün kitabın exercise’lerini çözmeliydim, hatta ilk fırsatta hepsini çözemesem bile ilk 7-8 üniteninkileri çözsem yeterdi bana . Zamanında baya bi çözmüştüm zaten ama bu kez düzenli bir biçimde sırayla hepsini çözmek istemiştim ve 2.4 numaralı exercise’in 1. sorusunun da kodunu yazıp .py uzantılı dosyasını oluşturmuştum. Her ne kadar yazılan kodun doğruluğundan %500 doğruluğundan emin olsam da “Adettendir” diye hemen Yakuake üzerinden çalıştırıp kontrol etmek istedim.

İlk başta çalışmayınca bir hata mesajı almıştım ama bu bana gayet mantıksız gelmişti. Çünkü hata bildirilen satır numarasında comment yazılıydı. 1. sınıfta bana söylenildiği ve bugüne kadar da aksini göremediğim kadarıyla şöyle bir kaide vardır: “Comment içerisindeki metin asla ve asla kodun çalıştırılma sürecine hiç bir şekilde etki de bulunamaz!” Bende bunun altında başka bir hatanın yattığını sandım. Mesela Bazı C veya C++ kodlarında ide size 5 hata var diyebilir ancak siz aslında 1 hata yapmışsınızdır ve onu bulup düzelttiğinizde, çalıştırınca o 5 hata artık olmayabiliyor. C ve C++’ta bu tür durumlarla çok karşılaşmıştım anca Python için ilk kez böyle bir durumla karşı karşıyaydım. Ve dahası dosyadaki kodu çalıştırma işlemini her zaman yaptığım gibi;   https://timuraykutyildirim.wordpress.com/2011/02/02/python-003/ linkindeki yazımın 3. maddesinde de söz ettiğim usulde yapmıştım ancak yine hata verdi. Tekrar tekrar kodu inceledim, hatta bir hata bulamayınca dosya yerine Yakuake üzerinde aynı Python kodunu yazdım . Çalışıyordu!!

Artık koddan emindim ve sistemin verdiği hata mesajı üzerinde biraz düşünme zamanı gelmişti. Kodun bulunduğu dosyanın içerisinde kodu yazmadan önce, commentlerle kaplanmış bir biçimde e-book’tan kopyaladığım soru metni vardı ve metnin içerisinde de ” π “ işareti vardı. Onu silip yakuake üzerinden tekrar dosyayı çalıştırdığımda Yakuake üzerinden direk yazılmış kod ile aynı sonucu veriyordu. Yani comment içerisindeki bir karakter Python kodunun selametini etkileyebiliyor. IDE geliştirilmesi hakkında pek bir şey bildiğim söylenemez ama, bence bu bir bug sayılır😀 “Sana ne arkadaşım benim comment içerisine ne yazdığımdan, sen işine bak, yazdığım kodla cebelleş” dimi? :D:D

Bu konusu Python programlama dili’nin resmi sitesinin wiki’si ve e-mail listesi de dahil olmak üzere bir çok forum ve platformda dile getireceğim😀 bir küre’nin hacmini bile alırken insanı kendisinden şüphe ettiriyorlar. (N)

Ama yine de istisnalar kaideyi bozmaz, yani hata mesajlarına tam güven olmaz. Siz comment satırı üzerinde olduğu söylenen her hata mesajını ciddiye almayın. Çok ekstrem bir durum söz konusu olmadıkça da hatayı comment satırı üzerinde aramayın😉

İşte bu da Ekran alıntısı: (Büyültmek için tıklayınız)

Yorum bırakın

Filed under Python

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s