Python Strings: multiline string, character array, triple quotes

Triple quotes आपको गंदे escape characters से मुक्त करते हैं, आपको बड़े paragraphs store करने और individual characters को एक साफ़ array की तरह access करने देते हैं।

10 min read · 12 cards · 3 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

गंदा Paragraph Problem

आपके Semester 1 BCA104 C labs में, अगर आप अपने project के लिए एक multi-line transactional receipt print करना चाहते, आपको हर एक line को individual printf functions में लपेटना पड़ता या एक अकेले विशाल char array buffer के अंदर अंतहीन \n newline characters डालने पड़ते। एक अकेला backslash भूलना आपकी formatting पूरी तरह तोड़ देता। Python आपको पूरे paragraphs को बिल्कुल जैसे वे screen पर दिखते हैं, गंदे escape codes पर भरोसा किए बिना, type करने क्यों देता है, और हम उनमें से individual characters सुरक्षित रूप से कैसे पढ़ सकते हैं?

Theory

Stenciled Ledger Sheet

एक triple-quoted string को अपनी accounting ledger book में एक blank grid template sheet की तरह सोचिए। जब आप एक paper notebook पर अगली row पर जाने के लिए enter दबाते हैं, आप sheet पर एक स्पष्ट अदृश्य newline command नहीं लिखते। line break होता है क्योंकि physical सीमा नीचे की ओर बढ़ती है। Python triple quotes इस बिल्कुल behavior को दोहराते हैं: वे हर enter keypress और space configuration को ठीक वैसे ही सुरक्षित रखते हैं जैसे आप उन्हें रखते हैं।

Theory

Triple Quotes और Text Arrays की संरचना

Python में, एक multiline string को triple quotes (''' या """) इस्तेमाल करके परिभाषित किया जाता है। यह notation interpreter को सारी literal layout संरचनाओं, असली line breaks समेत, को escape flags की ज़रूरत के बिना सीधे memory में capture करने को कहता है। इसके अलावा, Python strings को एक immutable sequence या character array के रूप में treat करता है। यह आपको text[0] जैसे bracketed indices इस्तेमाल करके एक ख़ास letter inspect करने देता है, पारंपरिक मैनुअल C string pointer mechanisms को पूरी तरह bypass करते हुए।

At a glance

Table 1: C और Python implementations के बीच string formatting और storage behaviors की तुलना।

Feature PropertyBCA104 C Language नियमBCA204 Python नियम
Multiline Inputमैनुअल inline \n markers चाहिए।triple quotes के ज़रिए अपने-आप सुरक्षित।
Null Terminatorएक सख़्त internal \0 marker चाहिए।engine द्वारा अपने-आप manage।
Character Readstring indices या pointers सीधे इस्तेमाल करता है।text[index] जैसे zero base brackets इस्तेमाल करता है।
MutabilityArray cells सीधे बदले जा सकते हैं।Strings पूरी तरह immutable हैं।

Theory

Worked Example: PocketMoney Receipt बनाना

आइए देखें कि हमारा चलता project multiline layouts कैसे इस्तेमाल करता है। हम triple quotes इस्तेमाल करके एक संरचित multi-line receipt template store करेंगे, फिर text sequence array layout से सीधे एक key verification character खोजने की कोशिश करेंगे।

Practical

PocketMoney Multiline Receipt Engine

# Storing a formatted receipt using clean triple quotes
receipt_data = """ID: PM982
Item: Samosa
Cost: 30"""

# Extracting the very first character from our text block array
validation_code = receipt_data[0]

print(receipt_data)
print("First character is: " + validation_code)

This example runs in Gri-Learn on the web, where you can edit it and see the output.

Think first

Text Layout की भविष्यवाणी

Python block का मन में विश्लेषण कीजिए। output terminal screen पर text structure बिल्कुल कैसे दिखेगा, और validation_code के लिए कौन सा character print होगा? tap करने से पहले इसे ट्रेस कीजिए।

Show the answer

script multi-line text block को बिल्कुल जैसे type किया गया तीन lines में output करेगी:

ID: PM982

Item: Samosa

Cost: 30

First character is: I

क्यों? Triple quotes lines के बीच newlines अपने-आप capture करते हैं, उन्हें संरचनात्मक layout splits के रूप में print करते हुए। चूँकि string objects character sequences के रूप में भी काम करते हैं, index 0 सुरक्षित रूप से प्राथमिक letter "I" देता है।

Quiz

क्या होता है अगर आप assignment line: log = '''Balance: 500''' single quotes को तीन बार इस्तेमाल करके execute करते हैं?

  1. Python तुरंत एक SyntaxError फेंकता है क्योंकि single quotes blocks के लिए अवैध हैं।
  2. यह सफलतापूर्वक एक valid string बनाता है, क्योंकि triple single quotes triple double quotes के समान बर्ताव करते हैं।
  3. string काम करती है पर सारे internal whitespace modifications पूरी तरह हटा देती है।
  4. यह एक cohesive string text object के बजाय अलग characters का एक list collection बनाता है।
Show the answer

यह सफलतापूर्वक एक valid string बनाता है, क्योंकि triple single quotes triple double quotes के समान बर्ताव करते हैं।

Python triple single quotes (''') और triple double quotes (""") को बराबर वैधता से treat करता है। वे raw संरचनात्मक multi-line blocks को single string fields में capture करने के लिए पूरी तरह अदल-बदल करने योग्य tools हैं।

Quiz

अगर आप निम्न sequence execute करते हैं तो terminal पर क्या print होता है? entry = "Samosa" entry[0] = "M" print(entry)

  1. Mamosa
  2. Samosa
  3. यह एक runtime TypeError फेंकता है: 'str' object does not support item assignment।
  4. SyntaxError: invalid character array index designation
Show the answer

यह एक runtime TypeError फेंकता है: 'str' object does not support item assignment।

जबकि Python आपको letters को bracket coordinates के ज़रिए एक array की तरह पढ़ने देता है, strings सख़्ती से immutable हैं। आप एक single cell character index को सीधे जगह पर नहीं बदल सकते। एक item write की कोशिश एक तुरंत runtime TypeError crash पैदा करती है।

Watch out

Classic जाल: Line Break Space Bloat

university programming lab examinations में सबसे बार-बार marks-गँवाने वाली ग़लती अपनी triple-quoted text lines को अपने functional indent blocks से मेल खाने के लिए indent करना है। अगर आप अपने code को organized दिखाने के लिए triple quotes के अंदर 4 blank leading spaces जोड़ते हैं, Python सचमुच उन 4 spaces को आपकी string value data में capture करता है। यह print runs के दौरान आपके automatic column alignments बर्बाद कर देता है!

Theory

भविष्य के Semesters से जोड़ना

Triple quotes back-end engineering में एक अहम संरचनात्मक भूमिका निभाते हैं। Semester 3 (BCA303) में, जब आप अपनी Python layer को एक SQLite database engine से connect करते हैं, आप multi-line relational database query language instructions लपेटने के लिए triple quotes पर निर्भर करेंगे, जैसे cursor.execute("""SELECT * FROM spends WHERE cost > 50 ORDER BY date DESC""")।

Summary

Key takeaways

  • Triple quotes text definitions को कई क्रमिक lines में साफ़-सुथरे फैलने देते हैं।
  • triple single quotes और triple double quotes दोनों स्वीकार्य text block operators हैं।
  • Python strings zero-indexed bracket offsets उजागर करके character array behaviors दोहराते हैं।
  • Individual text positions लगातार पढ़े जा सकते हैं पर immutability नियमों के कारण overwrite नहीं किए जा सकते।
  • Python internal null termination चरण मैनुअल developer management की ज़रूरत के बिना सँभालता है।
  • Memory Hook: Triples layouts रखते हैं, indices letters पढ़ते हैं!

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Conditions, Loops and Strings

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Python Strings: multiline string, character array, triple quotes · Programming Skills · Gri-Learn