파이썬에서 PHP의 print_r ()에 해당하는 것은 무엇입니까?


81

아니면 배열의 내용을 빠르게 출력하는 더 좋은 방법이 있습니까 (다차원이든 아니든). 감사.


4
질문에서 설명해야하지만 : php.net/print_r
AJ.

1
Mark : 배열이나 객체를 포함한 모든 변수의 내용을 화면에 표시하는 PHP 함수입니다.
Álvaro González

print_r은 키와 값을 보여주는 형식으로 모든 차원 배열을 출력 할 수있는 PHP의 함수입니다.
Waleed Amjad


3
아니요, 문제에 대해 설명해서는 안됩니다. 단순히 PHP와 Python에 대한 기본 지식이 필요합니다. 당신이 질문을 이해하지 못한다면 그것은 당신에게 질문이 아닙니다.
tishma

답변:


52

python print 문은 php에서 사용할 수 있는 print_r 을 요구하지 않고 다차원 배열을 형식화하는 좋은 작업을 수행 합니다.

인쇄에 대한 정의에 따르면 각 개체가 문자열로 변환되고 간단한 배열이 '['다음에 쉼표로 구분 된 개체 값 목록과 ']'가 차례로 인쇄되므로 이는 배열의 깊이와 모양에 대해 작동합니다. .

예를 들면

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

이보다 더 고급 서식이 필요한 경우 pprint를 제안하는 AJ 의 대답 이 아마도 갈 길일 것입니다.



9
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)


5

print그리고 pprint건전한 객체 표현을 정의하는 내장 데이터 유형 또는 클래스에 적합합니다. 임의의 개체를 완전히 덤프하려면 직접 굴려야합니다. 그다지 어렵지 않습니다. 기본 케이스가 컨테이너가 아닌 내장 데이터 유형 인 재귀 함수를 만들고 컨테이너의 각 항목 또는 객체의 각 속성에 함수를 적용하여 얻을 수있는 재귀 케이스를 만듭니다. dir()또는 inspect모듈을 사용 합니다.



1
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)]


0

variable문자열 로 형식 을 지정하려면 다음을 수행하십시오.

s = repr(variable)

유형에 관계없이 작동하며 수입이 필요하지 않습니다.

객체의 내용을 유형과 함께 단일 문자열에 포함하려는 경우 :

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

0

간단한 테스트 뷰를 위해 HttpResponse를 사용합니다. 개체가 아닌 양식, 변수, 문자열, ID의 테스트 요청

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

def add_comment(request, id):
return HttpResponse(id)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.