SORU
16 Kasım 2008, Pazar


Python kendisi silme nesne

Neden bu işe yaramaz? Bir sınıfın bir örneği kendisi silmek yapmaya çalışıyorum.

>>> class A():
    def kill(self):
    	del self


>>> a = A()
>>> a.kill()
>>> a
<__main__.A instance at 0x01F23170>

CEVAP
16 Kasım 2008, Pazar


'öz' sadece bir başvuru nesnesi. 'del öz' silme 'öz' referans yerel ad kill işlevini yerine gerçek bir nesne.

Kendiniz için bu görmek için, bu iki işlevi çalıştırıldığında ne olur: bak

>>> class A():
...     def kill_a(self):
...         print self
...         del self
...     def kill_b(self):
...         del self
...         print self
... 
>>> a = A()
>>> b = A()
>>> a.kill_a()
<__main__.A instance at 0xb771250c>
>>> b.kill_b()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 7, in kill_b
UnboundLocalError: local variable 'self' referenced before assignment

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • Makeup Lover

    Makeup Lover

    12 HAZİRAN 2011
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013