>>> class Foo:
... 'it is a example'
... print 'i am here'
...
i am here
>>> Foo.__name__
'Foo'
>>> Foo().__name__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: Foo instance has no attribute '__name__'
>>> Foo.__doc__
'it is a example'
>>> Foo().__doc__
'it is a example'
>>> Foo.__dict__
{'__module__': '__main__', '__doc__': 'it is a example'}
>>> Foo().__dict__
{}
>>> Foo.__module__
'__main__'
>>> Foo().__module__
'__main__'
>>> myname=Foo()
>>> myname.__name__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: Foo instance has no attribute `__name__`
Örneklerin __name__
özniteliği olmamasının nedeni nedir?
belki de, örnek-myname öğesinin __name__
'un myname
olduğu doğrudur.
Bana mantıksız dilbilgisi kurallarını değil, daha mantıklı mı söylerdin?Python örneklerinin neden __name__ özniteliği yok?
Örneklerde '__name__' özniteliği olması gerektiğini düşündüğünüz nedir? [İlgili belgeler] (http://docs.python.org/2/reference/datamodel.html), sınıflar (ve diğer şeyler) için var olduğunu söylüyor, ancak örnekler için bundan bahsetmiyorum. – Celada
[docs] 'dan (http://docs.python.org/2/library/stdtypes.html?highlight=__name__#class.__name__): '__name__' bir" sınıf veya tür "adı değil, bir sınıf veya türün örneği. Örnekler neden '__name__'s? –
Bunu mu demek istediniz: Foo() .__ class __.__ name__'? –