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

  • 3DS Max Tutorials

    3DS Max Tuto

    4 AĞUSTOS 2013
  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • ibebrent

    ibebrent

    23 Temmuz 2007