[Linux-programlama] Re: Python'da iç içe import nasıl yapılır ?

Mesut Taşçı slackermesut at gmail.com
21 Tem 2012 Cmt 20:38:01 EEST


>
>  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 <onur at ozguryazilim.com.tr> yazdı:

>
> On Sat, 21 Jul 2012 17:36:52 +0300
> Mesut Taşçı <slackermesut at gmail.com> 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
> Linux-programlama at liste.linux.org.tr
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: http://liste.linux.org.tr/pipermail/linux-programlama/attachments/20120721/7414c0c4/attachment.html 


Linux-programlama mesaj listesiyle ilgili daha fazla bilgi