Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Python sys.getsizeof() method



The Python sys.getsizeof() method returns the size, in bytes of a Python object. This includes the object's contents and overhead. It is primarily used for memory profiling and debugging to understand how much memory an object consumes.

This method takes one argument, the object whose size is to be measured and an optional default argument to return if the object doesn't support size retrieval.

We have to note that sys.getsizeof() method doesn't account for the sizes of referenced objects only the immediate size of the given object.

Syntax

Following is the syntax and parameters of Python sys.getsizeof() method −

sys.getsizeof(object[, default])

Parameters

Following are the parameters of the python sys.getsizeof() method −

  • object: The object whose size you want to determine.
  • default(optional): If the object does not provide a __sizeof__ method and this argument is provided it is returned as the size. Otherwise a TypeError is raised.

Return value

This method returns the size of the object in bytes

Example 1

Following is the example shows the size of an integer, a float and a string −

import sys

x = 42
y = 3.14
s = "Hello, Welcome to Tutorialspoint!"

print(sys.getsizeof(x))  
print(sys.getsizeof(y))  
print(sys.getsizeof(s))    

Output

28
24
82

Note: The exact size may vary depending on the Python implementation and platform.

Example 2

This example shows the size of a list before and after adding an element. The size increases as elements are added due to the list's dynamic array structure −

import sys

lst = [1, 2, 3, 4, 5]
print(sys.getsizeof(lst))  

# Adding element to list
lst.append(6)
print(sys.getsizeof(lst))  

Output

104
104

Example 3

This example shows the size of a custom object. The sys.getsizeof() method only provides the size of the object itself not the size of objects it references −

import sys

class MyClass:
    def __init__(self):
        self.x = 1
        self.y = [1, 2, 3]

obj = MyClass()
print(sys.getsizeof(obj))

Output

56

Example 4

This example specifies a default size value to return if the object does not provide size information −

import sys

class MyClass:
   def __init__(self):
      self.x = 1

# Default size if no size information is available
print(sys.getsizeof(MyClass, default=100))

Output

1072
python_modules.htm
Advertisements