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