Python Glossary English

все Python 3pprintфункция

pprint.isrecursive()

проверки

Проверяет, ссылается ли структура (список, словарь, кортеж) сама на себя — тогда её repr содержит заглушку вместо бесконечной вложенности.

Синтаксис

pprint.isrecursive(object)

print такие структуры не вешает — покажет [...], — но ваша рекурсивная функция обхода упадёт с RecursionError; isrecursive заранее скажет, что в данных петля. Видит только dict, list и tuple с неизменённым __repr__: петлю через атрибуты своих объектов не обнаружит. Один и тот же объект в двух местах — не рекурсия: [x, x] даёт False.

Примеры

import pprint
a = [1, 2]
print(pprint.isrecursive([a, a]))  # → False
a.append(a)
print(pprint.isrecursive(a), a)  # → True [1, 2, [...]]

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности