Nein, es sollte nicht in Frage gestellt werden. Es erfordert lediglich Grundkenntnisse in PHP und Python. Wenn Sie die Frage nicht verstehen, ist sie keine Frage für Sie.
Tishma
Antworten:
52
Die Python- Print- Anweisung kann Multidimesion-Arrays gut formatieren, ohne dass print_r in PHP verfügbar sein muss.
Da die Definition für print besagt, dass jedes Objekt in eine Zeichenfolge konvertiert wird und einfache Arrays ein '[' gefolgt von einer durch Kommas getrennten Liste von Objektwerten gefolgt von einem ']' drucken, funktioniert dies für jede Tiefe und Form von Arrays .
printund pprinteignen sich hervorragend für integrierte Datentypen oder Klassen, die eine gesunde Objektdarstellung definieren. Wenn Sie einen vollständigen Speicherauszug beliebiger Objekte wünschen, müssen Sie Ihre eigenen rollen. Das ist nicht so schwer: Erstellen Sie einfach eine rekursive Funktion, wobei der Basisfall ein beliebiger nicht in den Container integrierter Datentyp ist und der rekursive Fall die Funktion auf jedes Element eines Containers oder jedes Attribut des Objekts anwendet, das abgerufen werden kann mit dir()oder das inspectModul.
Antworten:
Die Python- Print- Anweisung kann Multidimesion-Arrays gut formatieren, ohne dass print_r in PHP verfügbar sein muss.
Da die Definition für print besagt, dass jedes Objekt in eine Zeichenfolge konvertiert wird und einfache Arrays ein '[' gefolgt von einer durch Kommas getrennten Liste von Objektwerten gefolgt von einem ']' drucken, funktioniert dies für jede Tiefe und Form von Arrays .
Zum Beispiel
>>> x = [[1,2,3],[4,5,6]] >>> print x [[1, 2, 3], [4, 5, 6]]
Wenn Sie eine erweiterte Formatierung benötigen, ist die Antwort von AJ , die pprint vorschlägt, wahrscheinlich der richtige Weg.
quelle
Sie haben nach der
repr
Bult-In-Funktion gesucht .http://docs.python.org/2/library/functions.html#func-repr
print repr(variable)
In Python 3
print
ist keine Aussage mehr, das wäre also:print( repr(variable) )
quelle
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)
quelle
Hier ist eine, die du ausprobieren kannst:
https://github.com/sha256/python-var-dump
Sie können es einfach mit installieren
pip
pip install var_dump
Haftungsausschluss: Ich habe es geschrieben :)
quelle
print
undpprint
eignen sich hervorragend für integrierte Datentypen oder Klassen, die eine gesunde Objektdarstellung definieren. Wenn Sie einen vollständigen Speicherauszug beliebiger Objekte wünschen, müssen Sie Ihre eigenen rollen. Das ist nicht so schwer: Erstellen Sie einfach eine rekursive Funktion, wobei der Basisfall ein beliebiger nicht in den Container integrierter Datentyp ist und der rekursive Fall die Funktion auf jedes Element eines Containers oder jedes Attribut des Objekts anwendet, das abgerufen werden kann mitdir()
oder dasinspect
Modul.quelle
Es gibt print_r für Python https://github.com/marcbelmont/python-print_r/wiki, aber es ist besser, Standardmodule zu verwenden
quelle
my_list = list(enumerate([1,2,3,4,5,6,7,8,9],0)) print(my_list)
Druckt [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8) , (8, 9)]
quelle
Wenn Sie
variable
als Zeichenfolge formatieren möchten, haben Sie folgende Möglichkeiten:s = repr(variable)
Es funktioniert unabhängig vom Typ und erfordert keine Importe.
Wenn Sie den Inhalt eines Objekts zusammen mit seinem Typ in eine einzelne Zeichenfolge aufnehmen möchten:
if hasattr(variable, "__dict__"): s = "{}: {}".format(variable, vars(variable)) else: s = repr(variable)
quelle
Für einfache Testansichten verwende ich HttpResponse. Testanforderung von Formular, Variable, Zeichenfolge, ID, nicht Objekt
from django.http.response import HttpResponse HttpResponse(variable)
def add_comment(request, id): return HttpResponse(id)
quelle