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

Teknoloji Seçerken

malkocoglu_2

Bu yazıyı Java bilgi işlem teknolojilerinden biri olan Entity Bean'lerin erken ölümü üzerine yazdık. Zamanında büyük şaşa ile ortaya çıkan bu teknoloji niye böyle erken tedavülden kalktı? Ayrıca bu tecrübeden ders çıkarmak bağlamında, ileride bu tür geleceği olmayan ve külfetli teknolojilerin kokusunu nasıl alabiliriz? Bu yazı bilgi işleme daha çok hitap eden bir yazıdır çünkü 3-4 senede bir yeni bir dehşet teknolojiyle çalkantılar yaratan grup bu olmaktadır. Bu dinamizm tabii ki iyidir fakat bilgi işlem müdürleri ve proje yöneticileri için bu teknoloji enflasyonunda bir seçici turnusol testi lazımdır. Aksi halde sonuç InfoWeek Dergisi Pazartesi Günü Sendromudur; (Masasındaki Infoweek dergisinin yeni sayısını pazartesi günü okuyan yönetici) "XML diye bir şey cıkmış bütün dertlere devaymış! Hemen kullanalım!" . [Proje teknik lideri burada somurtur].

http://www.bilgidata.com/yazi.jsp?dosya=a_ejb_postmortem.xml

RSS Dosyası Yapısı

ctengiz

RSS aslında sitelerin içeriklerini başlıklar şeklinde sunmak için kullanılan bir teknoji ve temeli de bir XML dosyası. Açılımı Rich Site Summary veya Really Simple Syndication. İlk olarak 1999 Netscape tarafından ortaya çıkarılan bu teknoloji daha sonra çeşitli gruplar tarafından geliştirildi. Tarihçe ve versiyonlar ile daha detaylı bilgi için yazının sonundaki kaynaklara başvurulabilir.

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.

İleti Kuyrukları İle Daha Etkin ve Performanslı Programlama

malkocoglu

Programlararası bilgi göndermeğe yardımcı olan ileti kuyrukları (message queue) bilgi işlemcilerin elindeki önemli silahlardan biridir. Özellikle bilgi alışverişi yapan sistemler farklı amaçlarla, zamanlarda, ve programcılar tarafından kurulmuş sistemler olunca, bağlantıyı kurmak için ileti kuyrukları daha uygun oluyor. IBM MQ Series üzerinden anlattığımız bu konunun yararlı olacağını umuyoruz.

MQ Series - İleti Kuyruğu

MQ Series Nasıl Kurulur

SSH ve Public Key Doğrulaması

cbc

SSH ve Public Key Doğrulaması ile ilgili birkaç paragraf yazı yazdım. Birilerinin işine yaraması dileği ile.