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

Plazma: Amatör Bilgisayar Kültürü Dergisi

Alcofribas

Herkese merhaba, Uzun bir aradan sonra, "Amatör Bilgisayar Kültürü" dergisi Plazma, dördüncü sayısıyla tekrar karşınızda. Hemen gidip Plazma sayfasından yeni sayıyı (tabii ki ücretsiz olarak) indirebilirsiniz. Bilgisayar ile ilgili amatör hobilerin tamamını, klasik ve modern bütün platformlarda, adım adım kapsama alanına almaya çalışan derginiz, yeni ve eski pekçok yazardan, pekçok kaliteli yazıyla dolu dolu huzurunuza geliyor. Sonraki sayı çıkana kadar dergiyi okuyup bitiremeyebilirsiniz bile ;)

Bash Hacker'ı mı Olmak İstiyorsunuz?

darkhunter

Son güncellemesi Aralık 2006'da yapılan, Advanced Bash-Scripting Guide, güncel olmasının yanı sıra, Bash ile yazılan ilginç örneklerle de "state of the art" niteliğinde bir kılavuz.

Açık Akademi Yayınlarından Yeni kitap:Linux Sistem Yönetimi

anonim

O'reilly yayınlarından Mart 2007'de çıkan Linux System Administration kitabı Açık Akademi yayınları tarafından Linux Sistem yönetimi(Gerçek Hayattaki Linux Problemlerine Çözümler) adıyla Türkçe'ye kazandırılmıştır.

Xmame : Birkaç Romalı Dövelim Mi?

darkhunter

Xmame, zamanında Atari salonlarında harçlıklarımızı tükettiğimiz oyunları GNU/Linux'a taşıyan bir emülatör. Emülatörler ve Emülasyon hakında daha fazla bilgi almak için buraya bakabilirsiniz. Bu klavuz xmame'in Debian GNU/Linux altında kurulumunu ve çalıştırılmasını anlatmaktadır. Ek olarak günün stresini Romalı döverek atmak isteyenlere yol göstermektedir. ;-)

Web Madenciliği ile Daha İyi Bir E-öğrenme Modeli Mümkün Mü?

FZ

Web madenciliği kısaca Web sayfaları ve servislerinden otomatik olarak bilgi çekip bunlardaki kalıpları keşfetmek için veri madenciliği tekniklerinin kullanılması olarak tanımlanabilir. Acaba makina öğrenme (machine learning) ve veri madenciliği (data mining) tekniklerinin özel bir dalı olan web madenciliği yöntemleri ile daha iyi e-öğrenme sistemleri geliştirmek mümkün müdür?

Missouri-Columbia Üniversitesinden James Laffey ve Jiye Ai'nin "Web Mining as a Tool for Understanding Online Learning" başlıklı makalesi bu ve benzeri sorulara olumlu cevaplar vermenin yanısıra güzel ve pratik bir örnek de gösteriyor: Yazıda somut olarak bir Blackboard (webct) e-öğrenme sisteminin web madenciliği ile nasıl daha da faydalı ve verimli hale getirilebileceği anlatılıyor.

Araştırmacılar, makalenin başında web madenciliği tekniklerinin başlıca şu üç noktada ciddi fayda getireceğini belirtmişler: devamı burada...