Есть ли встроенная функция для печати всех текущих свойств и значений объекта? - PullRequest
809 голосов
/ 10 октября 2008

Так что я ищу здесь что-то вроде функции PHP print_r . Это так, чтобы я мог отлаживать свои сценарии, видя состояние рассматриваемого объекта.

Ответы [ 23 ]

1 голос
/ 07 сентября 2017

Для всех, кто борется с

  • vars() не возвращает все атрибуты.
  • dir() не возвращает значения атрибутов.

Следующий код печатает все атрибуты obj со своими значениями:

for attr in dir(obj):
        try:
            print("obj.{} = {}".format(attr, getattr(obj, attr)))
        except AttributeError:
            print("obj.{} = ?".format(attr))
0 голосов
/ 04 мая 2017

Мне нравится работать со встроенными типами объектов Python ключи или значения .

Для атрибутов, независимо от того, являются ли они методами или переменными:

o.keys()

Для значений этих атрибутов:

o.values()
0 голосов
/ 07 марта 2016

Вы можете попробовать панель инструментов отладки Flask.
https://pypi.python.org/pypi/Flask-DebugToolbar

from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension

app = Flask(__name__)

# the toolbar is only enabled in debug mode:
app.debug = True

# set a 'SECRET_KEY' to enable the Flask session cookies
app.config['SECRET_KEY'] = '<replace with a secret key>'

toolbar = DebugToolbarExtension(app)
...