python中的print_r()相当于什么?

还是有更好的方法来快速输出数组的内容(多维或不)。 谢谢。

python的print语句在格式化multidimesion数组时不需要使用print_r 。

正如print的定义所指出的那样,每个对象都被转换成一个string,并且简单的数组打印一个'['后面跟着逗号分隔的对象值列表,后面跟着一个']',这将适用于任何深度和形状的数组。

例如

>>> x = [[1,2,3],[4,5,6]] >>> print x [[1, 2, 3], [4, 5, 6]] 

如果你需要比这更高级的格式化,那么AJ的答案是提示pprint是可能的。

检查pprint模块 。

您正在寻找repr in-infunction。
http://docs.python.org/2/library/functions.html#func-repr

 print repr(variable) 

printpprint对于内置的数据types或类定义了一个合理的对象表示非常好。 如果你想要一个完整的任意对象转储,你将不得不推出自己的。 这并不难:简单地创build一个recursion函数,其基本情况是任何非容器内置的数据types,recursion的情况下,将函数应用到容器的每个项目或对象的每个属性,可以得到使用dir()inspect模块。

 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) 

这里有一个你可以尝试的:

https://github.com/sha256/python-var-dump

你可以简单地使用pip来安装它

 pip install var_dump 

免责声明:我写了:)

如果你想将variable格式化为一个string,你可以这样做:

 s = repr(variable) 

它工作不pipetypes,不要求任何import。

如果要将对象的内容与其types一起包含在单个string中:

 if hasattr(variable, "__dict__"): s = "{}: {}".format(variable, vars(variable)) else: s = repr(variable) 

对于简单的testing视图,我使用HttpResponse。 从窗体,variables,string,ID,而不是对象的testing请求

 from django.http.response import HttpResponse HttpResponse(variable) 

 def add_comment(request, id): return HttpResponse(id)