2014-07-11 26 views
15

object.__dict__ ve diğer yerlerde onların gizli yöntemler bu gibi şeylere belirledik:Python'da 'slot sarıcı' nedir?

<dictproxy {'__add__': <slot wrapper '__add__' of 'instance' objects>, 
'__and__': <slot wrapper '__and__' of 'instance' objects>, 
'__call__': <slot wrapper '__call__' of 'instance' objects>, 
'__cmp__': <slot wrapper '__cmp__' of 'instance' objects>, 
'__coerce__': <slot wrapper '__coerce__' of 'instance' objects>, 
'__contains__': <slot wrapper '__contains__' of 'instance' objects>, 
'__delattr__': <slot wrapper '__delattr__' of 'instance' objects>, 
'__delitem__': <slot wrapper '__delitem__' of 'instance' objects>, 
'__delslice__': <slot wrapper '__delslice__' of 'instance' objects>, 
'__div__': <slot wrapper '__div__' of 'instance' objects>, 
'__divmod__': <slot wrapper '__divmod__' of 'instance' objects>, 
... 

Nedir bunlar ve bunlar için kullanılan nelerdir?

Düzenleme

:

class A: 
    pass 
b = A() 
print(type(b).__dict__) 
+0

Sanırım temsili geçersiz kıldınız. Mappingproxy ({…}) 'dır. Uygun bir cevap için bu bir farklılık olabilir. – kay

+1

Teşekkürler. Gördüğüm kişi pjc

+2

Burada bir ışık tutabilecek bir cevap var [burada] (http://stackoverflow.com/a/19545928/2555451). – iCodez

cevap

3

Bazı callables için kullanılan bir iç tip, yerleşik sınıflara üzerinde yöntemleri açıklanmıştır: Bu çıkışı olmaz. Bir işlevden veya başka bir çağrıştırılabilirden neden farklı olduğu gerçekten önemli değil. Nesne üzerinde aynı yöntem olarak bir yöntem olarak çağırabilirsiniz.

+0

Teknik olarak doğru olsa da, ** yukarıdakilerin hiçbiri soruyu yanıtlamıyor. ** En azından [driax] 'a (https://stackoverflow.com/users/72476/driax) bağlanmış olabilirsiniz [otoriter cevap ] (https://stackoverflow.com/a/19545928/2809027) konuyla ilgili * bu soruya * cevap veriyor. ' –

+0

Başka bir cevap daha eklemek için çekinmeyin