A Byte of Python

0
roktas
OSnews sitesinde gezinirken gözüme ilişti. Komple boyutta yeni bir Python kitabı. Yazarının ifadesiyle Python belgelerinin listelendiği sayfada Guido van Rossum´ un Python tutoryalinden hemen sonra ikinci sırada yerini almış.

A Byte of Python

Görüşler

0
tongucyumruk
Kitabı ben de OSNews'te gördüm, indirdim ve aşağı yukarı yarısını şehir içi bir otobüs yolculuğunda okudum. Açıkçası o kadar da hoşuma gittiğini söyleyemem. Görebildiğim kadarıyla fazla detaylara, python'u python yapan inceliklere pek te değinilmemiş. Bana kalırsa kitap daha çok bugüne kadar şöyle böyle programlamayla uğraşmış, şu python'da neymiş diye merak eden insanlara hitap ediyor. Tbabii daha kitabı bitirmedim, umarım ilerleyen bölümlerde bu fikrim değişir. Açıkçası python öğrenmek isteyenler için ben şu üç kaynağı tavsiye edeceğim:

Programlamaya ilk defa başlayanlar için:
How To Think Like A Computer Scientist: Learning With Python [www.ibiblio.org]

Önceden Programlama bilgisi olup ta python öğrenmek isteyenler için:
Python Tutorial [www.python.org]

Python'a yeni başlayan veya Python bilip te Python'un fantastik özellikleri hakkında bilgisini genişletmek isteyenler için:

Dive Into Python [www.diveintopython.com]
0
tongucyumruk
oops... diveintopython.com değil, http://www.diveintopython.org olacaktı...
0
sametc
kitabı okudum :)

bende hala okuyorum ve pythonu iyi sekilde tanıtır.
evet fazla detaylara girmemiş mesela lambda fonksiyonundan bahsetmemiş oysa tadından yenmez :)) ama bu kitap pek bahsetmemiş sanırım :) ornek kod python.orgdan

print (lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+y,map(lambda y,
Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,Sy=Sy,L=lambda yc,Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,i=IM,
Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro,
i=i,Sx=Sx,F=lambda xc,yc,x,y,k,f=lambda xc,yc,x,y,k,f:(k=4.0) or 1+f(xc,yc,x*x-y*y+xc,2.0*x*y+yc,k-1,f):f(xc,yc,x,y,k,f):chr(
64+F(Ru+x*(Ro-Ru)/Sx,yc,0,0,i)),range(Sx))):L(Iu+y*(Io-Iu)/Sy),range(Sy
))))(-2.1, 0.7, -1.2, 1.2, 30, 80, 24)

I LOVE YOU PYTHON ...

not : bu kodu hala anlamaya calışıyorum :).
0
tongucyumruk
Bu kod doğrudan kopi peyst edince çalışmıyor... sanıyorum k=4.0 satırıyla ilgili bir problem. Sanırım kodun orjinali şu:

http://www.python.org/search/hypermail/python-1994q3/0362.html
0
sametc
kodu test etmedim ama bana cok fantastik geldi ;) ve buraya koydum guvendim o kadar python.org adamlarına calışmamış nasıl oluyor ;)..

0
sametc
kodu test etmedim ama bana cok fantastik geldi ;) ve buraya koydum guvendim o kadar python.org adamlarına calışmamış nasıl oluyor ;)..

0
mentat
if (bu kodu yazan eleman benimle ayni yerde calisiyorsa)
if(patronumsa)
yeni bir is aramaya baslarim, bulur bulmaz patronu doverim
else if (bana bagli bir calisansa) // hic boyle biri olmadi ya simdiye kadar o ayri..
doverim sonra kovarim
else if (benimle yanyana calisiyorsa)
doverim

python'a lafim yok, lambda'ya da, sadece bi an midem kalkti kodu gorunce, tutamadim kendimi. dili degil, programciyi dovmek lazim evire cevire bence..
0
tongucyumruk
Eğer kodu çalıştırıp çıktıyı gördüysen bence dövmek değil gidip takdir etmek lazım (kodu çalıştırmayanlar için ne olduğunu söyllemiyorum, süpriz olsun). Daha önemlisi amca burada çok önemli birşeyi ispatlamış: Çok ısrar ederseniz python'la da okunaksız kod yazabilirsiniz.
0
sametc
kodu ikinci kez test ettim ve calıştı :))

gercekten Python'a bir kez daha hayran oldum ;) calıştırın ve cıkan grafiğe bakın ;)surpriz

tongucyumruk'un dediği gibi "eger ısrar ederseniz okunaksız anlamsız kodlar yazabilirsiniz"

I LOVE YOU PYTHON ;)
0
sametc
simdi kimse benim kodumu gorupte python calışmaz :) bu yuzden yeni bir duzeltme yapayım..

if else dongulerinden ornek vereyim:
programlama dili bildiğinizi varsayıyorum ve baslıyorum..

a=5
b=5

if a+b == 10 : print "evet 10 yapar"
else : print "hayır 10 yapmaz"

:) ne kadar kolay değilmi;)
0
tongucyumruk
hmm.. ne yazıkki işgüzar phpNuke'un backslash'leri ve indentation'ı becerememesi sebebiyle çalışmaz... bakalım kurtulabilecekmiyiz:

a, b = 5,5 #multiple assignment diye birşey varken neden 2 satır yazayım ki...

import sys

not(a+b == 10 or sys.stdout.write("eşit değil "))) or sys.stdout.write("eşit ")

tamam... backslash'in gazabından kurtulamadık ama en azından indentation hatasından kurtulduk...
0
sametc
evet bu da bir kolaylık ;) aklıma gelmemişti ;)
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Açık Akademi'den qmail kitabı!

anonim

FreeBSD İşletim Sistemi kitabı ile yayın hayatına başlayan Açık Akademi Yayınevi, ikinci kitabı "qmail, E-Posta Sunucusu" nu çıkardı. qmail e-posta sunucusu hakkında başlangıçtan ileri düzeye hemen her konunun yer aldığı kitap, EnderUNIX Yazılım Geliştirme Grubu üyeleri İsmail Yenigül, Barış Şimşek ve Huzeyfe Önal tarafından kaleme alınmıştır. qmail hakkında tek türkçe kaynak olan kitap 25 YTL'den satışa sunulmuştur.

http://www.acikakademi.com

Smalltalk ile Yazılım Geliştirme: Squeak

FZ

Özet: Bu belge, Squeak bütünleşik geliştirme ortamını kullanarak Smalltalk programlama dili ile yazılım geliştirme süreçlerine giriş niteliğinde kaynak sağlaması amacı ile yazılmıştır.

Zekeriya "zekus" Koç'un yazısının devamını burada okuyabilirsiniz.

Matematik Dünyası Dergisi

FZ

Prof. Dr. Ali Nesin yönetiminde çıkmaya başlayan Matematik Dünyası dergisi dolu dolu içeriği ile karşınızda.

Kapak konusu "Fonksiyonlar" olarak seçilmiş son sayıda, bunun yanı sıra, aramızdan ayrılan matematikçiler, topoloji köşesi, Fibonacci sayıları, bilgisayar bilimi köşesi (robotik ve diğer ilginç konular), geometri köşesi, paradoks ve satranç köşeleri gibi birçok başka bölüm de var.

CVS ve Dallar (Branches) İle Karmaşık Yazılım Yönetimi

malkocoglu_2

Yazılım sektöründe anahtar teslim projeler için bir derece, ürün ile uğraşmakta olan takımlar için kesinlikle lazım olacak bir kaynak kod deposu özelliği vardır. Dallar, yâni branch kavramı. Branch kullanımı her kaynak kod idare programında farklıdır, ve tabii ki açık yazılımın favori programı CVS'te de branch desteği mevcuttur fakat bazı konularda dikkatli olmak gerekmektedir. Yazılım sektöründe birçok konuda olduğu gibi elde bir "yapılması uygun olan/olmayan" gibi bir liste, önceki tecrübelere dayanarak mevcuttur, bu yazıda bu tür tavsiyeleri toparlayarak, kendi tecrübelerimiz ışığında sunmaya uğraştık.

Not: Makale, GNU Emacs ve LaTeX ile yazılmıştır.

Knoppix Rehberi

yuxel

Knoppix'e yeni başlayanlar için bir rehber : Knowing Knoppix.

GNU/Linux'un ne olduğundan, Knoppix'in ne olduğuna; açılış parametrelerinden, KDE'ye; yerel ağ kurulumundan, yazdırma işlemlerine kadar pek çok konuyu basit bir dille anlatan faydalı bir eser.

Editörün Notu: Knoppix ile ne kadar acayip şeylerin yapılabileceğini merak edenlere iki adres daha: Knoppix Hacks ve True Stories of Knoppix Rescues