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

  • PomplamooseMusic

    PomplamooseM

    28 HAZİRAN 2008
  • Tina Chen

    Tina Chen

    26 Mayıs 2012
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009