Kas 282017
 
457 views

Abaküs Kitap Yayın Dağıtım Hizmetleri tarafından yayınlanan Yeni Başlayanlar İçin Python kitabım iki yıldan kısa bir süre içinde 4. baskısını yapıyor. İlginiz için sizlere ve Abaküskitap Yayınevi’ne içtenlikle teşekkür ediyorum.

Yeni Başlayanlar İçin PYTHON

Kitabımızın 4. baskısını şu an itibariyle en güncel sürüm olan Python 3.6.3’e göre yeniden düzenledik. Örneklerin hepsini tekrar elden geçirdik ve gereken uyarlamaları yaptık.

Python 3.6.3 sürümüne göre yeniden düzenlediğimiz kaynak kodlarına erişim adresini önümüzdeki günlerde buradan sizlerle paylaşacağım.

Kitabımla veya genel olarak Python dili ile ilgili her türlü soru, öneri ve eleştirilerinizi aşağıdaki yorum bölümünden bana iletebilirsiniz.

Kitaplarım ve genel olarak Python ile ilgili yazılarımı bundan sonra python.gurmezin.com adresinde yayınlayacağım.

Hepinize kolaylıklar ve başarılar diliyorum.

Ahmet Aksoy – Kasım 2017

Mar 292016
 
1.229 views

Python Pygame ve Thread Uygulaması

Python Pygame ve Thread Uygulaması

Al Sweigart tarafından Python 2 ve 3 için uyumlu şekilde yazılmış “threadworms” isimli bir uygulama var. Proje https://github.com/asweigart/threadworms adresinde paylaşılıyor.

Programın içinde ayrıntılı açıklamaların bulunması özellikle thread, pygame veya Python konusunda öğretici örnek arayanlar için onu daha değerli hale getiriyor.

Açıklamalar İngilizce. Ben de dil sorunu olan arkadaşlarımız için kodların arasına serpiştirilmiş açıklamaları büyük oranda Türkçeleştirdim. Kalan kısmını da en kısa zamanda halletmeye çalışacağım.

Tamamlanmamamış haliyle bile bu açıklamaların işe yarayacağını düşünüyorum.

Türkçe açıklamaları içeren dosyaya https://github.com/ahmetax/threadworms adresinden ulaşabilirsiniz. Orijinal kod dosyasının adı: threadworms.py. Türkçe açıklamaları içeren dosya adı ise: threadworms-tr.py. Her iki dosyadaki kodlar aynı. Sadece açıklamalar ve bazı parametreler farklı.

Bu program, thread kullanımı açısından da çok yararlı ve güzel bir örnek. Solucanların işgal ettiği hücrelerin çakışmamasını sağlayan kilit mekanizmaları adım adım açıklanıyor.

Solucan sayısını, kullanılan renkleri, hücre boyutlarını, yatay ve düşey hücre sayısını değiştirmeniz mümkün. Solucanların hızını da ayarlayabilirsiniz.

setGridSquares(squares) satırının başındaki # işaretini kaldırırsanız, squares değişkeni tarafından tanımlanan engeller ızgara üzerinde etkin hale gelir.

Thread ve/veya pygame konusunda kendinizi geliştirmek istiyorsanız, bu örneği mutlaka inceleyin!

Ahmet Aksoy

Mar 272016
 
1.581 views

Python pygame ve kar yağışı

kar yağışıPythonun en zayıf olduğu alan belki de görsel tarafı. Komut modunda olağanüstü bir performansa sahip olsa da, güncel yazılımların ihtiyaç duyduğu görsel etkileşim konusunda yardıma muhtaç.

Pythonun bu açığını kapatmaya yönelik araçlardan birisi pygame. Bu kütüphane ile iki boyutlu grafikler için pratik çözümler geliştirebilirsiniz. Klavye ve mouse etkileşimi, thread kullanımı önünüze geniş bir kullanım alanı açıyor. Gerisi hayal gücünüze kalmış.

“pygame kütüphanesi”ni Pythonun en güncel sürümüyle birlikte kullanmanız mümkün. Ne yazık ki bu çalışmayı -şimdilik- sadece windows üzerinde yapabiliyorsunuz. Python 3.5 ile uyumlu pygame sürümünü
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame
adresinden indirip bilgisayarınıza kurabilirsiniz.

İndireceğiniz dosyanın adında Python sürüm numarası ve işlemci bilgileri yer alıyor. Örneğin:
pygame-1.9.2a0-cp35-none-win32.whl
dosyası 32 bitlik sistem üzerinde çalışan Python 3.5 sürümü içindir. 64 bitlik sisteme göre derlenmiş dosya ise:
pygame-1.9.2a0-cp35-none-win_amd64.whl

Eğer sisteminiz hem 32, hem de 64 biti destekliyorsa, Pythonu hangisine göre kurduğunuz önemlidir. Örneğin benim bilgisayarım 64 biti desteklediği halde, 32 bitlik python kullanıyorum.

Python 3.5.x ve 32 bitlik bir sistemde pygame kurulum komutu şu şekilde:
pip install pygame-1.9.2a0-cp35-none-win32.whl

Yukarıda gördüğünüz kar manzarasını oluşturan açık kaynak proje github üzerinde yer alıyor. Projenin orijinal adresi: https://github.com/adamkdean/Python.Snowfall

Buradaki projeden oluşturduğum çatalın adresi ise şöyle:
https://github.com/ahmetax/Python.Snowfall

Orijinal projede yağan kar düz zeminde birikiyor. Ben ise düz bir zemin yerine ağaçlıklı bir tepecik kullandım. Kar birikimi tepenin şekline uygun şekilde gerçekleşiyor. Aslında farklı arka planlar kullanarak bu projeyi daha da ilginç bir hale getirmek mümkün olabilir.

Yağan karın birikmesi dışında kodlar rüzgar etkisini de içeriyor.

Kodları yukarıdaki adreslerden indirip inceleyebilirsiniz. Benim yeniden düzenlediğim haliyle kodlar python 3.5.1 ve pygame-1.9.2a0 sürümlerini kullanarak çalışabiliyor.

Kodlar karmaşık olmadığı için ayrıca açıklamaya gerek duymuyorum. Yine de takıldığınız bir nokta olursa, sorularınızı bana yöneltebilirsiniz.

Ahmet Aksoy