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)
print
和pprint
对于内置的数据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)