Или есть лучший способ быстро выводить содержимое массива (многомерное, а что нет). Спасибо.
Что эквивалентно php print_r() в python?
Ответ 1
Оператор печати python отлично справляется с форматированием многомерных массивов, не требуя print_r, доступного в php.
Поскольку определение print гласит, что каждый объект преобразуется в строку, а простые массивы выводят '[', за которым следует разделенный запятыми список значений объекта, за которым следует '], это будет работать для любой глубины и формы массивов.,
Например
>>> x = [[1,2,3],[4,5,6]]
>>> print x
[[1, 2, 3], [4, 5, 6]]
Если вам нужно более продвинутое форматирование, чем этот, ответ AJ, предлагающий pprint, вероятно, поможет.
Ответ 2
Откройте модуль pprint.
Ответ 3
Вы искали встроенную функцию repr
.
http://docs.python.org/2/library/functions.html#func-repr
print repr(variable)
В Python 3 print
больше не является оператором, так что это будет:
print( repr(variable) )
Ответ 4
from pprint import pprint
student = {'Student1': { 'Age':10, 'Roll':1 },
'Student2': { 'Age':12, 'Roll':2 },
'Student3': { 'Age':11, 'Roll':3 },
'Student4': { 'Age':13, 'Roll':4 },
'Student5': { 'Age':10, 'Roll':5 }
}
pprint(student)
Ответ 5
print
и pprint
отлично подходят для встроенных типов данных или классов, которые определяют представление объектного объекта. Если вам нужен полный дамп произвольных объектов, вам придется катиться самостоятельно. Это не так сложно: просто создайте рекурсивную функцию с базовым случаем, являющимся любым неконтейнерным встроенным типом данных, и рекурсивным случаем, применяющим эту функцию к каждому элементу контейнера или каждому атрибуту объекта, который можно получить используя модуль dir()
или inspect
.
Ответ 6
вот тот, который вы можете попробовать:
https://github.com/sha256/python-var-dump
Вы можете установить его просто используя pip
pip install var_dump
отказ от ответственности: я написал это :)
Ответ 7
есть print_r для python https://github.com/marcbelmont/python-print_r/wiki но лучше использовать стандартные модули
Ответ 8
если вы хотите отформатировать variable
как строку, которую вы можете сделать:
s = repr(variable)
работает независимо от типа и не требует импорта.
Если вы хотите включить содержимое объекта в одну строку вместе с его типом:
if hasattr(variable, "__dict__"):
s = "{}: {}".format(variable, vars(variable))
else:
s = repr(variable)
Ответ 9
Для простых тестовых представлений я использую HttpResponse. Тестирование запроса из формы, переменной, строки, id, а не объекта
from django.http.response import HttpResponse
HttpResponse(variable)
def add_comment(request, id):
return HttpResponse(id)
Ответ 10
my_list = list(enumerate([1,2,3,4,5,6,7,8,9],0))
print(my_list)
Будет напечатано [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9)]