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

时间:2010-02-02 21:24:27

标签: php python

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

9 个答案:

答案 0 :(得分:51)

python print语句可以很好地格式化multidimesion数组,而不需要php中的print_r

由于打印的定义表明每个对象都转换为字符串,并且简单数组打印一个'['后跟逗号分隔的对象值列表后跟一个']',这将适用于任何深度和阵列的形状。

例如

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

如果您需要比此更高级的格式,AJ的回答表明pprint可能是最佳选择。

答案 1 :(得分:11)

您正在寻找repr内置功能 http://docs.python.org/2/library/functions.html#func-repr

print repr(variable)

在Python 3中,print不再是语句,因此它将是:

print( repr(variable) )

答案 2 :(得分:6)

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)

答案 3 :(得分:5)

printpprint非常适合定义理智对象表示的内置数据类型或类。如果你想要完全转储任意对象,你必须自己动手。这并不难:简单地创建一个递归函数,基本情况是任何非容器内置数据类型,以及将函数应用于容器的每个项目或对象的每个属性的递归情况,这可以得到使用dir()inspect模块。

答案 4 :(得分:5)

这是你可以尝试的一个:

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

您只需使用pip

即可安装
pip install var_dump

免责声明:我写了:)

答案 5 :(得分:2)

python https://github.com/marcbelmont/python-print_r/wiki有print_r 但最好使用标准模块

答案 6 :(得分:0)

如果您想将variable格式化为字符串,则可以执行以下操作:

s = repr(variable)

无论何种类型都可以使用,并且不需要任何导入。

如果要将对象的内容与其类型一起包含在单个字符串中:

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

答案 7 :(得分:0)

对于简单的测试视图,我使用HttpResponse。从表单,变量,字符串,id,而不是对象

测试请求
from django.http.response import HttpResponse
HttpResponse(variable)
def add_comment(request, id):
return HttpResponse(id)

答案 8 :(得分:0)

my_list = list(enumerate([1,2,3,4,5,6,7,8,9],0))

print(my_list)

将打印[[0,1),(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7 ,8),(8,9)]