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