Forumlar > Atölye > Yazılım Geliştirme (None ıle ılgılı bır soru)
devturk kullanıcısının resmi

devturk

Kayıt: 18/07/2009

None ıle ılgılı bır soru

None ıngılızce kelıme anlamı hıc bırsey yada hıc bırı demektır

nerede ve neden None kulandıgımızı anlatabılcek kımse varmı

Top
Melen kullanıcısının resmi

Melen

Kayıt: 18/11/2006

Re: None ıle ılgılı bır soru

fonksiyo nn tanımlarken örneğin;

fonk(a=1i s=None) burda s parametresi varsayılan olarak None yani kullanıma kapalı. Eğer fonksiyonu kullanırken fonk(2,2) dersek fonk() fonksiyonunun içinde kullanılan s etkin olacak e one göre(misal rand()) işlem farklılaşacaktır.

Ek: integer olarak tanımlanan 0 değeri 0 ın hex olarak değerini ifade eder. None-Null gibi ifadelerde binaryi olarak 0000 0000 ifade eder.

Top
devturk kullanıcısının resmi

devturk

Kayıt: 18/07/2009

Re: None ıle ılgılı bır soru

sayin melen cevabınız ıcın tessekurler.kafamda bıraz ampul yandı:) lakın cok karmasık bır sey bunone olayı
bu asagıdakı kod coroutune teknıgıyle kımın hangı sırada olsugunu gosteren bır kod
none bolumu normalde yok ama ben ekledım
none nı aktıf hala getırınce hata verıyro zaten
tam olarak neden elementı kulnaıma kapatmak ısterız nerede yapılmalıdır
tesekkurler
kodumuz soyle

>> namelst
['Charles Darwin (1809-82)', "Darwin's principal works, The Origin of Species (1859)", 'and The Descent of Man (1871) marked a new epoch in our', 'understanding of our world and ourselves.  His ideas', "were shaped by the Beagle's voyage around the world in", '1831-36.']
>>> 

>>> def tt(a, n=None):
...     lst=list(a)
...     cnt=0
...     if n is None:
...             while len(lst):
...                     yield lst[cnt]
...                     cnt=(cnt+1) % len(lst)
... 
>>> 
>>> 
>>> t=tt(namelst)
>>> 
>>> for x in range(4):
...     print "sira no========== %s" % t.next()
... 
sira no========== Charles Darwin (1809-82)
sira no========== Darwin's principal works, The Origin of Species (1859)
sira no========== and The Descent of Man (1871) marked a new epoch in our
sira no========== understanding of our world and ourselves.  His ideas

>>>
>>>
>>>

Top
Melen kullanıcısının resmi

Melen

Kayıt: 18/11/2006

Re: None ıle ılgılı bır soru

coroutune de neyin nesi Smile bu arada yield i merak ediyorum ne işe yarıyor...

Orda None kullanmanıza gerek yok zaten sizde biliyorsunuzdur. Mesela bir fonksiyon düşünün onu kullandığınızda kendi içinde bir şeyler yapıyor ama değer döndürmüyor, ama denerseniz None yi görürsünüz.

bir oyun düşünün mesela a=None parametresi var ve siz bu oyunda müzik olsun istiyorsanız None yerine şarkı ismi gireceksiniz, ama girmezsen None(yok) olarak kalır e ona göre işlem yaparsın Laughing out loud İlla ki kullanman gerekmez, ama belki benden daha iyi anlatan çıkar Laughing out loud

Top
devturk kullanıcısının resmi

devturk

Kayıt: 18/07/2009

Re: None ıle ılgılı bır soru

none nı yavas yavas anlamaya basladım.onegınız yerınde oldu tessekurler.ama bol pratık ve ornek sanırım tek ıhtıyac olan
sımdı gecelım yıeld olayına
genisletılmıs yıeld (generator) yanı uretıcı demek.threadıng ve bazı methodlarla KULANILMAZ
mesela bır sımulasyon yapıcaz.network dıyelım.burada coroutıne ısımıze yarıyacaktır ama asıl
daha cok kulanıldıgı yer problem cozumundedir (data ısleme, event handlıng).yield ıle ornek verıcek olrsak
mesela for x in range(12): print x dersek 0, dan 11 e kadar sayar ve boylece data uretmıs oluruz

bunun aynısını yıeld ıle yapabılırz.(ne zaman yıled gorursenız uret anlamına gelır) kulanılan meyhod genelde next(oburu anlamına gelır) dir

> def uret(n):
...     while n:
...             yield n
...             n -=1
... 
>>> for x in uret(12):print x
... 
12
11
10
9
8
7
6
5
4
3
2
1
>>> M=uret(12)
>>> M.next()
12
>>> M.next()
11
>>> M.next()
10
>>> M.next()
9
>>> M.next()
8
>>> M.next()
7
>>> 
mesela alt kalsorlerı goruntelmek ısterız ve bunlar fıle(dosya)olarak gecer.coroutıne burada ısımıze yarar ornek kod

def goster(fname, n=None):
	for x in os.listdir(fname):
		yer=os.path.join(fname, x)
		if os.path.isdir(yer):
			for v in goster(yer, n-1): # 
				yield v
			else:
				yield yer



for x in goster("/home/BEN/index.html", 0): print x # asagıda cıktan ornek


/home/mozilla/firefox/pwlemro8.default/extensions
/home.mozilla/firefox/pwlemro8.default/Cache
/home.mozilla/firefox/pwlemro8.default/antbar
/home/.mozilla/firefox/pwlemro8.default
Top
devturk kullanıcısının resmi

devturk

Kayıt: 18/07/2009

Re: None ıle ılgılı bır soru

none nı yavas yavas anlamaya basladım.onegınız yerınde oldu tessekurler.ama bol pratık ve ornek sanırım tek ıhtıyac olan
sımdı gecelım coroutıne olayına
genisletılmıs yıeld (generator) yanı uretıcı demek.threadıng ve bazı methodlarla KULANILMAZ
mesela bır sımulasyon yapıcaz.network dıyelım.burada coroutıne ısımıze yarıyacaktır ama asıl
daha cok kulanıldıgı yer problem cozumundedir (data ısleme, event handlıng).yield ıle ornek verıcek olrsak
mesela for x in range(12): print x dersek 0, dan 11 e kadar sayar ve boylece data uretmıs oluruz

bunun aynısını yıeld ıle yapabılırz.(ne zaman yıled gorursenız uret anlamına gelır) kulanılan meyhod genelde next(oburu anlamına gelır) dir

> def uret(n):
...     while n:
...             yield n
...             n -=1
... 
>>> for x in uret(12):print x
... 
12
11
10
9
8
7
6
5
4
3
2
1
>>> M=uret(12)
>>> M.next()
12
>>> M.next()
11
>>> M.next()
10
>>> M.next()
9
>>> M.next()
8
>>> M.next()
7
>>> 
mesela alt kalsorlerı goruntelmek ısterız ve bunlar fıle(dosya)olarak gecer.coroutıne burada ısımıze yarar ornek kod

def goster(fname, n=None):
	for x in os.listdir(fname):
		yer=os.path.join(fname, x)
		if os.path.isdir(yer):
			for v in goster(yer, n-1): # 
				yield v
			else:
				yield yer



for x in goster("/home/BEN/index.html", 0): print x # asagıda cıktidan ornek


/home/mozilla/firefox/pwlemro8.default/extensions
/home.mozilla/firefox/pwlemro8.default/Cache
/home.mozilla/firefox/pwlemro8.default/antbar
/home/.mozilla/firefox/pwlemro8.default
Top
Melen kullanıcısının resmi

Melen

Kayıt: 18/11/2006

Re: None ıle ılgılı bır soru

Bende az buçuk anladım, ama istihza nın anlatımı olsa çok iyi anlardım Laughing out loud

Top