2013-11-16 3 views
4

Когда я создаю некоторый класс в Python:экземпляр класса в Python (фундаментальное объяснение)

class Someclass(): 
    def __init__(self, some_arg): 
     self.arg = some_arg 

Затем я создаю экземпляр этого класса:

>>> some_instance = Someclass('something') 

Тогда вывод о нашем примере:

>>> some_instance 
>>> <__main__.Someclass instance at 0x00000000021CA848> 

Теперь у меня есть несколько вопросов:

1) Что означает __main__ именно в этом примере?

2) Что означает **at 0x00000000021CA848**, и для чего нужна эта информация?

+2

Эта информация необходима для отладки. Когда две переменные, при печати, показывают один и тот же адрес (шестнадцатеричный номер), вы можете предположить, что они ссылаются на один и тот же экземпляр. –

ответ

5

__main__ - это имя модуля, а 0x00000000021CA848 - это адрес объекта в памяти, если вы используете CPython.

Его строковое представление вашего объекта. Вы можете использовать его для отладки.

Смежные вопросы