What is the equivalent of php's print_r() in python?
或者,是否有更好的方法快速输出数组的内容(多维或非多维)。谢谢。
python print语句可以很好地格式化多度量数组,而无需使用PHP中提供的print_r。
由于print的定义规定每个对象都转换为字符串,并且简单数组打印一个"[",后跟一个以逗号分隔的对象值列表,后跟一个"]",这将适用于任何深度和形状的数组。
例如
1 2 3 | >>> x = [[1,2,3],[4,5,6]] >>> print x [[1, 2, 3], [4, 5, 6]] |
如果您需要比这更高级的格式,AJS的答案建议pprint可能是一种方式。
你在找
1 | print repr(variable) |
号
在python 3中,
1 | print( repr(variable) ) |
1 2 3 4 5 6 7 8 9 10 | 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
您只需使用
1 | pip install var_dump |
。
免责声明:我写的:)
有关于python的print_r https://github.com/marcelmont/python-print_r/wiki但是最好使用标准模块
1 2 3 |
将打印[(0,1),(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9)]
对于简单的测试视图,我使用httpresponse。测试来自窗体、变量、字符串、ID而非对象的请求
1 2 | from django.http.response import HttpResponse HttpResponse(variable) |
1 2 | def add_comment(request, id): return HttpResponse(id) |
。
如果要将
1 | s = repr(variable) |
。
它不管类型如何都可以工作,并且不需要任何导入。
如果要在单个字符串中包含对象的内容及其类型:
1 2 3 4 | if hasattr(variable,"__dict__"): s ="{}: {}".format(variable, vars(variable)) else: s = repr(variable) |
。