Насколько я понимаю, когда я делаю 'foo' in 'abcfoo'
в Python, интерпретатор пытается вызвать 'abcfoo'.__contains_('foo')
под капотом.
Это операция сопоставления строк (или поиск), которая принимает несколько алгоритмов, например:
Как узнать, какой алгоритм может использовать данная реализация? (например, Python 3,8 с CPython). Я не могу получить эту информацию, например, исходный код для CPython для строки. Я не знаком с его базой кода, и, например, я не могу найти __contains__
, определенный для него.