Path 1: 187 calls (0.97)

10 (20) 1 (18) 5 (16) 2 (15) 3 (14) 4 (14) 6 (14) 7 (14) 8 (14) 9 (14)

'October' (18) 'January' (16) 'May' (16) 'February' (13) 'March' (12) 'April' (12) 'June' (12) 'July' (12) 'August' (12) 'September' (12)

1def __getitem__(self, i):
2        funcs = self._months[i]
3        if isinstance(i, slice):
4            return [f(self.format) for f in funcs]
5        else:
6            return funcs(self.format)
            

Path 2: 4 calls (0.02)

slice (4)

['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] (1) ['December', 'Novem...

1def __getitem__(self, i):
2        funcs = self._months[i]
3        if isinstance(i, slice):
4            return [f(self.format) for f in funcs]
5        else:
6            return funcs(self.format)
            

Path 3: 2 calls (0.01)

13 (2)

IndexError (2)

1def __getitem__(self, i):
2        funcs = self._months[i]
3        if isinstance(i, slice):
4            return [f(self.format) for f in funcs]
5        else:
6            return funcs(self.format)