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

GNU/Linux Dağıtımları Belgesi

Evreniz

Linux Dağıtımları Belgesi, GNU/Linux ile tanışmaya hazırlanan kullanıcıların cevap vermekte -ve hatta insanlardan cevap almakta da- zorlandıkları "Hangi Linux dağıtımı?" sorusuna anlamlı bir yanıt verebilmeleri için hazırlanmaya başlanmış, belli başlı dağıtımların özelliklerini anlatmayı ve bu yolla Linux ve dağıtımlar hakkında kullanıcıların kafasında anlamlı bir fikir oluşturmayı hedefleyen bir belge.

Diff ve Patch Kullanımına Giriş

Armish

Bu araçlar programlama veya program kodları ile uğraşanlar için bazen hayat kurtarıcı olabilyor. diff ve patch'i kullanmak konusunda az da olsa bilgim olsun diyorsanız bu yazı size yardımcı olabilir.

Yazılımbilim - 1. Bölüm

malkocoglu

Teorik yazılımbilim, günümüzdeki bilgisayarların soyut temelini oluştuyor. Bu alanda isimleri tanıdık gelen Turing, Church gibi kimseler olduğu gibi, diğer alanlardan bilim adamları mevcuttur, mesela Kurt Gödel. Tarihçesi belki de ünlü matematikçi Hilbert'in 1900 yılında bir beyan ettiği "açık problemler"'den 10'cusuna kadar giden yazılımbilim, bir problemin çözülebilirliğini ispat etmek için algoritmanın ne olduğundan başlayarak, bazı algoritmaların çözülemeyeceğini bulmak ile devam etti, ve nihai olarak günümuz donanımının altyapısını hazırlayarak önemli bir alan olarak kendini ispat etti.

SMTP Sunucuların Çoklu E-posta Dağıtım Yöntemleri

honal

Simple Mail Transfer Protocol (SMTP) tek seferde bir mesajı birden çok kullanıcıya iletme yetisine sahiptir, hatırlayacak olursak bir mesajın iletiminde RCPT komutunu kullanıyorduk, burada da MTA'nın yaptığı birden fazla RCPT komutu kullanarak bir mesajı birden çok alıcıya yollamaktır. Tabii bunun gerçekleşmesi için e-posta yollanan kullanıcıların aynı sunucu üzerinde olması gerekir.

Yazının devamına http://cc.kou.edu.tr/huzeyfe/multi_rcpt.htm adresinden erişebilirsiniz

Özgür Kitapların Bulunduğu Bir Site

boreas

Programlama, işletim sistemleri, oyun programlama, imaj işleme gibi farklı konularda paylaşımı serbest bırakılmış dokümanların toplandığı bir site: http://www.freetechbooks.com