> > Bir de "is" ile yapılan kontrolleri string dışında kullanmamakta fayda > var, onun yerine "==" kullandım.
Bunu bilmiyordum bunu öğrendiğim iyi oldu. Kodun çalışmamasının doğal olduğunu yeni farkettim. Eğer tipid ile bir işler yapıcaksam zaten bu işi Canlı sınıfıyla değil, Hayvan ve Insan sınıflarının parent sınıfı olmayan bir sınıfla halletmem gerekir. Heralde oruç başa vurunca kafa fazla çalışmıyor :) Teşekkür ederim. 21 Temmuz 2012 19:44 tarihinde Onur Küçük <[email protected]> yazdı: > > On Sat, 21 Jul 2012 17:36:52 +0300 > Mesut Taşçı <[email protected]> wrote: > > > Hayvan ve Insan classlarının getYemek diye fonksiyonları var. > > Elimdede canlinin tipini tutan tipid adında bir değişkenim var.Ben her > > seferinde tipid ye göre ifleyip eger canlı hayvansa Hayvan classındaki > > getYemek fonksiyonunu, eger insan ise Insan classındaki getYemek > > fonksiyonunu çağırmak yerine Canli classına tipid ile çalışan getYemek > > adında bir fonksiyon yazıyorum ve tipid kontrolunu Canli classındaki > > getYemek fonksiyonunda yapıyorum. > > > > Kodu çalıştırdığımda import hatası yiyorum. > > İmport 'ların scope 'unu daraltabilirsiniz. Kod çalışacak ama fazlaca > içiçe / çembersel import / bağımlılık var. Kodunuzun genel yapısını > gözden geçirmenizde fayda var. > > Bir de "is" ile yapılan kontrolleri string dışında kullanmamakta fayda > var, onun yerine "==" kullandım. > > diff -Nur py_circular-old//Canli.py py_circular/Canli.py > --- py_circular-old//Canli.py 2012-07-21 17:20:06.000000000 +0300 > +++ py_circular/Canli.py 2012-07-21 19:37:36.892000765 +0300 > @@ -1,14 +1,14 @@ > #!/usr/bin/env python > # -*- coding: utf-8 -*- > > -import Insan > -import Hayvan > > class Canli(object): > def getYemek(self,tipid): > - if (tipid is 1): > + if tipid == 1: > + import Insan > mycanli=Insan.Insan() > else : > + import Hayvan > mycanli=Hayvan.Hayvan() > > return mycanli.getYemek() > diff -Nur py_circular-old//main.py py_circular/main.py > --- py_circular-old//main.py 2012-07-21 17:26:42.000000000 +0300 > +++ py_circular/main.py 2012-07-21 19:37:28.483000253 +0300 > @@ -7,4 +7,5 @@ > > tipid=1 #insan > c_canli=Canli.Canli() > -c_canli.getYemek(tipid) > +print "Canli yemeği %s" % c_canli.getYemek(tipid) > + > > > -- > Onur Küçük Özgür Yazılım A.Ş. ~ > > <onur.--.-.ozguryazilim.com.tr> http://www.ozguryazilim.com.tr > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
