| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | from timeit import timeitclass Point:    def __init__(self, x, y):        self.x = x        self.y = yclass PointSlots:    # Теперь __dict__ не будет и нельзя будет создавать новые атрибуты.    __slots__ = {'x', 'y'}    def __init__(self, x, y):        self.x = x        self.y = y# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~class Person:    __slots__ = {'first_name', 'last_name', 'age'}    def __init__(self, first_name, last_name, age):        self.first_name = first_name        self.last_name = last_name        self.age = age    def __str__(self):        return f"{self.first_name} {self.last_name} is {self.age} years old"def make_cl1():    s = Point(3, 4)    s.x = 100    s.x    del s.xdef make_cl2():    s = PointSlots(3, 4)    s.x = 100    s.x    del s.xdef main():    print(timeit(make_cl1))    print(timeit(make_cl2))if __name__ == '__main__':    main()
 |