Python 2.3 çıktı

0
tongucyumruk
Python'un birçok yenilik içeren 2.3 sürümü çıktı. Özellikle "iteration" konusundaki yeniliklerin göze çarptığı yeni sürümdeki değişikliklerden bazıları şöyle:
  • Kaynak kodu dosyalarında karakter seti belirtilebiliyor
  • Evrensel yeni satır karakteri desteği eklendi
  • Zip dosyalarından modül alabilme yeteneği
  • Windows sistemlerde Unicode dosya isimlerine erişim
  • Jeneratör desteği
  • Gerçek bir boolean veri tipi
  • enumerate() ve sum() fonksiyonları
Değişikliklere ilişkin daha daha detaylı bilgiye buradan ve buradan erişmek mümkün.

Görüşler

0
Teorisyen
iteration ne demektir? Bunu bilemedik !
Kaynak kodu dosyalarında karakter seti belirtmenin ne faydası var ? Bunu da bilemedik !
Evrensel yeni satır karakteri ne demek ki ?
Zip dosyalarında modül alıyor muş? Eğer zip sıkıştırma algoritması değişirse sonra ne olacak !
Unicode de ne demek ?
Python programlama dili bir de elektrik mi üretiyor ?
Boolean! Bunu biliyormuyum bilmiyor muyum, bunu da bilmiyorum !
Enumerate ve sum u da bilemedik... Ama sum u Excelden hatırlıyorum galiba...

Böyle sorular aklımdan geliiir gider !
Birileri cevap vermeye değer bulursa cevaplar, bulamazsa bu sorular cevapsız kalır...

Saygılarımla :)
-------------------------------------------------
Programcılığa Python ile başlamayı düşünen ama bir türlü sorularına cevap bulamayan bir adam !
0
tongucyumruk
İteration : Bir listenin elemanları üzerinde teker teker işlem yapmaktır. Python bu gibi işlerde kuracağınız for döngüleri yerine bazı basit fonksiyonlarla bu tip işleri kolaylaştırır... map(), reduce(), filter() bunların tipik örnekleridir. Yeni eklenen itertools modülü de bu konuda yeni güzellikler getirmektedir.

Kaynak kodu dosyalarının karakter setini belirtmek unicode kullanırken işi kolaylaştırır... Şöyleki Python'da unicode için string'den farklı olarak bir unicode nesnesi vardır. siz print, str gibi komutları kullandığınızda python bunu stringe otomatik olarak çevirir. bu noktadaki sorun stringe çevirme işlemi sırasında ascii karakter setini kullanmasıdır. Bu da ingilizce dışındaki hemen her dilde sorun çıkartır. Bu nedenle normalde unicode nesnensinin encode() fonksiyonuna istediğimiz karakter setini belirterek ascii yerine düzgün bir karakter seti ile string' dönüşmesi sağlanır. Dosyanın başında karakter seti belirtilmesi bizi tüm bu encode vs... işlerinden kurtarır...

Evrensel yeni satır karakteri (Universal Newline Character) kabul ediyorum ki biraz saçma bir isim olmuş ama ingilizcesi de böyle... Görevi ise şu: Bildiğiniz gibi normalde her işletim sisteminin kafasına göre satır sonu karakteri belirlemesi gibi bir gelenek vardır. Unix altında satır sonu ile, windows altında ile mac'te ise ile verilir. Pythonda bundan böyle dediğimizde her platformun kendine özgü satıronu karakterini kullanabileceğiz.

Zip sıkıştırma algoritması ne sıklıkla değişir?

Unicode dünyadaki birçok dildeki hemen hemen bütün karakterlerin tek bir karakter seti kullanılarak ifade edilebilmesini sağlayan bir sistemdir. Detaylar için http://www.unicode.org

Dilin kendisi elektrik üretmiyor ama eğer bilgisayarınızda Python kodu çalışırken elektrik kesilirse Guido van Rossum bizzat gelip manyetoyla elektrik sağlıyor. Generator yapıları basit bir tanımla sürekli yeni değerler üreten fonksiyonlar. Bunu yaparken de eski değerlerini kaybetmiyorlar.

Boolean True ve False (Doğru/Yanlış, Evet/Hayır) türünde veri tutan değişkenlere verilen addır. Bu sürüme kadar Ptyhonda gerçek bir boolean türü bulunmuyordu. Onun yerine C'dekine benzer "0 olmayan herşey True, 0 False" mantığıyla çalışıyordu.

enumerate() ve sum() yine python tarzı kolaylık fonksiyonları. enumerate() verdiğiniz bir listeyi şu hale çeviriyor:
orjinalliste = ["a","b","c"]
enumerate(orjinalliste)
[(0,"a"),(1,"b"),(2,"c")]

Sum ise verdiğiniz listenin elemanlarını topluyor. Böylece reduce() fonksiyonunun işinin bir kısmını devralıyor.
0
Teorisyen
Sn. Tongucyumruk, zahmet edip de benim saçma sapan sorularıma vermiş olduğunuz cevaplar için çok teşekkür ederim...

Winzip in 9. versiyonu çıkmış...
Zip sıkıştırma algoritması değişmiyorsa, sadece winzip programının arayüzü veya ufak tefek eklentileri falan mı değişmiş oluyor?

Daha doğrusu şöyle sormalıyım...
Winzip programı zip sıkıştırma algoritması kullanıyor...
Winzip programının her yeni bir sürümü çıktığında zip sıkıştırma algoritmasında biraz değişiklik olması gerekmez mi....
Yoksa zip sıkıştırma algoritması uluslararası bir standart da, bu tür değişimlerden çok az mı etkileniyor ?
0
realist
Çevrendeki herkese anlatman koşulu ile:
(benim dilimde tüy bitti de)

Winzip arşiv yapan ve arşiv açan bir programdır hepsi bu. Winrar da böyledir ama rar algoritmasının sahibi rarsoft'a aittir. Demek ki neymiş. Zip her şey, Winzip hiç bir şey. Hatta illa para verilecekse winrar'a verilmeliymiş. (Biliyorum memlekette bu programların bedele tâbî olduğunu umursayan kimse yok.)

Ayrıca ne dediğini bilmeden konuşmamak gerekir. Zip algoritmasının değişmesi ne demektir? python yorumlayıcısı kendi modüllerini zip'leyecek, script çalışmaya başladığında açabilecek, böylece python dağıtımının ya da hazırlanan programın -eğer gerekliyse- diskte az yer kaplaması sağlanacak. Her şey python'un içinde. Ortada bir bağımlılık yok.
0
Teorisyen
Ben burada Winzip'in 9. Versiyonunun çıktığını, winzip'in her yeni versiyonu çıktığında zip algoritmasına ufak tefek de olsa değişiklik olup olmadığını sormuştum... !

Siz ise bana winrar diye bir program olduğunu, RAR sıkıştırma algoritmasının sahibinin ise rarsoft olduğunu belirtmişsiniz...

Ben, burada en asgarisi bilgisayar programcısı, en azamisi ise geek sınıfından bilgisayar mühendisi olan ve burada durmadan birşeyler anlatan, anlatmaya çalışan veya en azından çene çalan abilerimin sınıfından değilim ! (Ticaret Lisesi mezunu, kendi halinde Word ile Excel kullanmaya çalışan, ara sıra birşeyler kurcalayan, belki sizin gözünüzde basit bir bilgisayar kullanıcısıyım)

Yaz mevsiminin gelmesi nedeniyle fazlamesai'nin haberlerinde ve bu haberlere yapılan yorumlarda biraz azalma gördüğüm ve bu yüzden canımın sıkılması nedeniyle ORTALIK BİRAZ ŞENLENSİN diyerek o soruları öylesine sormuştum...
Yani cevaplarını alsam bile benim bir işime yaramayacaktı, ama bu soruları CİDDİYE alıp cevaplayan Sn. Tonguçyumruk'a hakkaten teşekkür ederken, sizin ne dediğini bilmeden konuşmamak gerekir şeklindeki yorumunuzu hiç mi hiç size yakıştıramadım !

Python'un zip sıkıştırmasını kendisinin yaptığı için böyle değişikliklerden etkilenmeyeceğini söylemeniz yeterli idi, beni tekme kötek kovalayarak değil !
-------------------------------------------
Bahtsız bedevimiyim ne?
0
conan
>Boolean! Bunu biliyormuyum bilmiyor muyum, bunu da bilmiyorum !

Bunu bilmiyorsan programciliga baslama ;) Once bunu ogren sonra programlamaya basla hehe ;)
0
FZ
.
.
.
if (!isBooleanKnown) {
isBooleanKnown = true;
continue;
}
.
.
.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Renklendirme Algoritması

kris

Eski siyah beyaz filmleri nasil renklendirdikleri aklım almıyordu. Kimyasal ya da bilgisayarlı bir yöntem olsun 1,5 saatlik film olsa 25x60x90 = 135000 kare eder. Her kare ile yarım saat uğraşılsa en az 67500 saat eder. Keşke o zamanlar böyle bir uygulama olsaydı... Bu israilliler deli:

Colorization using optimization.

Hızır Emacs: Her Nev'i Internet Yayın ve Yazı İşleri

FZ

cs-lisp üyelerinden Ahmet Usal, Emacs ile etkili JavaScript, CSS ve PHP kodlamaya yönelik deneyimlerini Emacs Web Geliştirme Ortamı Neler Sağlıyor? başlığı altında paylaşmaya başladı. Usal'ın MEWDE (My Emacs Web Development Enviroment Project) projesi de anlatılanların bir parçası olarak meraklılar tarafından kullanılmayı bekliyor.

StarLogo artık OpenStarLogo

FZ

StarLogo ekibinden Eric Klopfer'in dünkü bir e-posta iletisine göre 8 Haziran 2006 itibariyle StarLogo artık OpenStarLogo adı altında kamuya açık kodlu olarak sunulmaktadır.

OpenStarLogo web sitesinde sistemin hem kaynak kod dosyalarını hem de derlenmiş hallerini bulmak mümkün. Böylece tüm dünyadaki programcı camiasının OpenStarLogo ve dolayısı ile StarLogo'ya katkıları kabul edilirken StarLogo ekibi de StarLogo TNG üzerindeki çalışmalarına odaklanmaya devam edecek.

Prototype Javascript Framework

tongucyumruk

Web bir uygulama geliştirme platformu olarak kendini kabul ettireli çok oldu. Şimdi Web 2.0 gibi konuar tartışılırken web'in her geçen gün artan popülerliği yanında gerçekleştirilmesi gitgide zorlaşan kullanıcı taleplerini yanında getiriyor. İnsanlar her geçen gün daha etkileşimli, daha hareketli web uygulamaları istiyor. Bu durumun her geçen gün programcıları daha fazla yorması sonucunda bugün ulaştığımız noktada artık JavaScript ile yazılmış etkileşimli web uygulamaları geliştirmeyi kolaylaştıran altyapı yazılımları da ortaya çıkmaya başlıyor. İşte Prototype Javascript Framework'te bu amaçla ortaya çıkmış bir altyapı yazılımı.

Yapay Zeka ve GAWK

FZ

Neden Yapay Zekâ için GAWK?

YZ programlama sınıfında kullandığımız programlama dilinin GAWK olduğunu duyan insanların çoğu epey şaşırıyor. Bunu anlayabiliyorum. Evet, GAWK kullanıyoruz. GAWK, Aho, Weinberger ve Kerninghan tarafından geliştirilmiş ve pek çok kişi tarafından programlama dili olarak bile kabul edilmeyen şu eski kalıp tanıma dilinin Gnu versiyonudur. PERL veya TCL örneklerinde olduğu gibi pek çok kişi bu dili "scripting dili" olarak ele alır. İçinde nesneler yoktur, fonksiyonel değildir, gömülü olarak mantık programlama öğelerini barındırmaz. İnsanların şaşkınlığı şunları duyunca tam bir kafa karışıklığına dönüşüyor: (a) her ne kadar öğrenciler projelerinde istedikleri dili kullanma hakkına sahip olsalar da; (b) sadece tek bir istisna hariç, en iyi sonuca ulaşan öğrenciler GAWK ile proje geliştirenler (not: söz konusu istisnanın sahibi PASCAL kullanmış olan bir programcı, kendisi şu anda NSF bursu ile Harvard'da matematik doktorası yapıyor.) C, C++ ve LISP programcıları GAWK ile çalışanların performanslarına yaklaşamadılar (PROLOG ve JAVA kullanarak proje yapan bir öğrencimiz çıkmadı henüz).