#python #ironpython
#python #ironpython
Вопрос:
Я пытаюсь использовать sys.getsizeof для определения размера моего объекта, и я попробовал метод в командной строке, но метод возвращает 8 независимо от того, какой ввод
>>> import sys
>>> sys.getsizeof([])
8
>>> sys.getsizeof([1,2,3,4])
8
>>> sys.getsizeof('')
8
>>> sys.getsizeof([0 for x in range(10**7)])
8
почему я получаю это, я сделал что-то не так?
Я использую ironpython 2.7, будет ли в этом какая-либо разница?
Комментарии:
1. В python3.7 это приводит к порядку: 64, 96, 49, 81528056
2.
getsizeof()
определяется реализацией; это не гарантирует, что оно будет значимым. И да, поскольку это определяется реализацией, можно ожидать, что оно будет разным в разных реализациях (например, CPython против IronPython). Разумно предположить, что константа8
— это размер указателя на вашей платформе.