>>> 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__`
Lý do trường hợp không có thuộc tính __name__
là gì?
có thể là số điện thoại __name__
của ví dụ-myname là myname
.
bạn có thể cho tôi biết hợp lý hơn, không phải các quy tắc ngữ pháp không hợp lý không?Tại sao các cá thể python không có thuộc tính __name__?
Điều gì khiến bạn nghĩ rằng có nghĩa vụ phải là thuộc tính '__name__' trên các phiên bản? [Tài liệu có liên quan] (http://docs.python.org/2/reference/datamodel.html) nói rằng nó tồn tại cho các lớp (và những thứ khác), nhưng tôi không thấy bất kỳ đề cập nào về nó cho các cá thể. – Celada
Từ [tài liệu] (http://docs.python.org/2/library/stdtypes.html?highlight=__name__#class.__name__): '__name__' là tên của" loại hoặc loại ", không phải là ví dụ của một lớp hoặc loại. Tại sao các trường hợp phải có '__name__'? –
Ý của bạn là 'Foo() .__ class __.__ name__'? –