При работе с подсюжетами в matplotlib я заметил, что один из объектов, возвращаемых методом subplots, может быть подписным или не основан на аргументах этого метода.
f1, axarr1 = plt.subplots(1, 1, sharex='col', sharey='row', figsize=(10, 8))
print(hasattr(axarr1,'__getitem__')) #False
f2, axarr2 = plt.subplots(2, 2, sharex='col', sharey='row', figsize=(10, 8))
print(hasattr(axarr2,'__getitem__')) #True
Хотя это не относится к проблема, которую я имел в виду, подняла вопрос, является ли это обычным способом добавления поведения к Python классам.