nie, nie należy tego wyjaśniać. wymaga po prostu podstawowej znajomości języka PHP i Python. jeśli nie rozumiesz pytania - to nie jest dla ciebie pytanie.
tishma
Odpowiedzi:
52
Instrukcja print w języku Python dobrze sobie radzi z formatowaniem tablic wielowymiarowych bez wymagania print_r dostępnego w php.
Ponieważ definicja print mówi, że każdy obiekt jest konwertowany na łańcuch, a proste tablice wypisują „[”, po których następuje rozdzielona przecinkami lista wartości obiektu, po której następuje „]”, będzie to działać dla dowolnej głębokości i kształtu tablic .
Na przykład
>>> x = [[1,2,3],[4,5,6]]
>>> print x
[[1, 2, 3], [4, 5, 6]]
Jeśli potrzebujesz bardziej zaawansowanego formatowania niż to, odpowiedź AJ sugerująca, że pprint jest prawdopodobnie najlepszym rozwiązaniem.
printi pprintświetnie nadają się do wbudowanych typów danych lub klas, które definiują rozsądną reprezentację obiektu. Jeśli chcesz mieć pełny zrzut dowolnych obiektów, będziesz musiał rzucić własne. To nie jest takie trudne: po prostu utwórz funkcję rekurencyjną, w której przypadek bazowy będzie dowolnym wbudowanym typem danych niebędącym kontenerem, a przypadek rekurencyjny zastosuj funkcję do każdego elementu kontenera lub każdego atrybutu obiektu, który można uzyskać za pomocą dir()lub inspectmodułu.
Odpowiedzi:
Instrukcja print w języku Python dobrze sobie radzi z formatowaniem tablic wielowymiarowych bez wymagania print_r dostępnego w php.
Ponieważ definicja print mówi, że każdy obiekt jest konwertowany na łańcuch, a proste tablice wypisują „[”, po których następuje rozdzielona przecinkami lista wartości obiektu, po której następuje „]”, będzie to działać dla dowolnej głębokości i kształtu tablic .
Na przykład
>>> x = [[1,2,3],[4,5,6]] >>> print x [[1, 2, 3], [4, 5, 6]]
Jeśli potrzebujesz bardziej zaawansowanego formatowania niż to, odpowiedź AJ sugerująca, że pprint jest prawdopodobnie najlepszym rozwiązaniem.
źródło
Ci szukali
repr
Bult-in funkcji.http://docs.python.org/2/library/functions.html#func-repr
print repr(variable)
W Pythonie 3
print
nie jest już instrukcją, więc byłoby to:print( repr(variable) )
źródło
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)
źródło
oto jeden, którego możesz spróbować:
https://github.com/sha256/python-var-dump
możesz go zainstalować po prostu za pomocą
pip
pip install var_dump
zastrzeżenie: napisałem to :)
źródło
print
ipprint
świetnie nadają się do wbudowanych typów danych lub klas, które definiują rozsądną reprezentację obiektu. Jeśli chcesz mieć pełny zrzut dowolnych obiektów, będziesz musiał rzucić własne. To nie jest takie trudne: po prostu utwórz funkcję rekurencyjną, w której przypadek bazowy będzie dowolnym wbudowanym typem danych niebędącym kontenerem, a przypadek rekurencyjny zastosuj funkcję do każdego elementu kontenera lub każdego atrybutu obiektu, który można uzyskać za pomocądir()
lubinspect
modułu.źródło
jest print_r dla pythona https://github.com/marcbelmont/python-print_r/wiki ale lepiej jest używać standardowych modułów
źródło
my_list = list(enumerate([1,2,3,4,5,6,7,8,9],0)) print(my_list)
Wydrukuje [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8) , (8, 9)]
źródło
jeśli chcesz sformatować
variable
jako ciąg, możesz zrobić:s = repr(variable)
działa niezależnie od typu i nie wymaga importu.
Jeśli chcesz zawrzeć zawartość obiektu w jednym ciągu wraz z jego typem:
if hasattr(variable, "__dict__"): s = "{}: {}".format(variable, vars(variable)) else: s = repr(variable)
źródło
Do prostych widoków testowych używam HttpResponse. Testowanie żądania z formularza, zmiennej, ciągu znaków, identyfikatora, a nie obiektu
from django.http.response import HttpResponse HttpResponse(variable)
def add_comment(request, id): return HttpResponse(id)
źródło