अजगर में php के print_r () के बराबर क्या है?


81

या एक सरणी (बहुआयामी या क्या नहीं) की सामग्री को जल्दी से आउटपुट करने का एक बेहतर तरीका है। धन्यवाद।


4
प्रश्न में समझाया जाना चाहिए, लेकिन: php.net/print_r
AJ।

1
मार्क: यह एक PHP फ़ंक्शन है जो किसी भी चर की सामग्री को स्क्रीन पर प्रदर्शित करता है, जिसमें सरणियाँ या ऑब्जेक्ट शामिल हैं।
अल्वारो गोंजालेज

print_r PHP में एक फ़ंक्शन है जो किसी भी आयाम सरणी को एक प्रारूप में आउटपुट कर सकता है जो कुंजी और मान दिखाता है।
अमजद


3
नहीं, यह प्रश्न में नहीं समझाया जाना चाहिए। यह बस php और अजगर दोनों के बुनियादी ज्ञान की आवश्यकता है। यदि आप प्रश्न को नहीं समझते हैं - यह आपके लिए प्रश्न नहीं है।
14

जवाबों:


52

अजगर प्रिंट स्टेटमेंट php में उपलब्ध print_r की आवश्यकता के बिना बहुपरत सरणियों को स्वरूपित करने का एक अच्छा काम करता है ।

जैसा कि प्रिंट के लिए परिभाषा बताती है कि प्रत्येक वस्तु को एक स्ट्रिंग में बदल दिया जाता है, और जैसा कि साधारण सरणियां '[' के बाद वस्तु मानों की अल्पविराम द्वारा अलग की गई सूची के बाद ''] प्रिंट करती हैं, यह किसी भी गहराई और सरणियों के आकार के लिए काम करेगा। ।

उदाहरण के लिए

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

यदि आपको इससे अधिक उन्नत स्वरूपण की आवश्यकता है, तो एजे का जवाब है कि पदचिह्न संभवतः जाने का रास्ता है।



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)

7

यहाँ आप कोशिश कर सकते हैं:

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

आप इसे बस का उपयोग करके स्थापित कर सकते हैं pip

pip install var_dump

अस्वीकरण: मैंने इसे लिखा है :)


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 का उपयोग करता हूं। फॉर्म, वेरिएबल, स्ट्रिंग, आईडी, ऑब्जेक्ट से परीक्षण अनुरोध

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

def add_comment(request, id):
return HttpResponse(id)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.