payment by upi: sinhamit@icici or payment by bank account name: amit kumar sinha, account number: 2646728782 IFSC code: KKBK0005660 SWIFT: KKBKINBB

Please support if you like my work by payment through upi: sinhamit@icici or payment by bank

account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB


String Functions   in Category: पाइथन   by amit

🕙 Posted on 2023-07-13 at 05:57:42


स्ट्रिंग विधियाँ (Methods)

    पायथन में सब कुछ एक Class (क्लास) विशेष का instance (प्रतिरूप) है। उस क्लास के instance को ऑब्जेक्ट कहा जाता है। आप सहायता पृष्ठ में देख सकते हैं कि एक डेटा-प्रकार, उदाहरण के लिए, print( help( list ) ) कथन के पहली पंक्ति में आउटपुट class list(object) है। इसके अलावा, विभिन्न डेटा प्रकार पृष्ठ में, आप देख सकते हैं कि type() अंतर्निहित फ़ंक्शन का आउटपुट हमेशा कुछ डेटा-प्रकार का एक class लौटाता है, उदाहरण के लिए, <class 'bool'>, वगैरह।

    सभी फ़ंक्शंस की कार्यक्षमताएँ, (चाहे अंतर्निहित, पूर्व-परिभाषित, कस्टम, आदि हो) समान हैं, और इन्हें कभी-कभी फ़ंक्शंस, विधियों (methods), गुणों (properties) आदि के रूप में नामित किया जाता है। ये सभी कोड के ब्लॉक हैं, जिन्हें विशिष्ट कार्यों को करने के लिए डिज़ाइन और उपयोग किया जाता है। विधियाँ (या गुण, जैसा कि जावास्क्रिप्ट में कहा जाता है) पूर्व-परिभाषित फ़ंक्शन हैं, जो विशेष रूप से किसी क्लास या अंतर्निहित फ़ंक्शन के instance, यानी str() पर लागू होते हैं, आदि। पिछले पृष्ठ में कई पूर्व-परिभाषित स्ट्रिंग विधियां print( dir( str ) ) कथन द्वारा दिखाई गई हैं, जिनमें से कुछ को नीचे समझाया गया है।

title(), capitalize(), upper(), lower()

    इन चार स्ट्रिंग विधियों का उपयोग अक्षरों के case को (अंग्रेजी वर्णमाला अक्षर, a से z या A से Z तक) या तो अपरकेस में या लोअरकेस में बदलने के लिए किया जाता है। निम्नलिखित उदाहरण में, 'caMelcaSe stRing' का उपयोग इन विधियों के साथ लागू होने पर प्रत्येक अक्षर को तदनुसार बदलने के लिए किया गया है। पहले दो विधियों का पायथन में आउटपुट अन्य प्रोग्रामिंग भाषाओं में समान विधियों या फ़ंक्शंस के आउटपुट से भिन्न है।

my_string = 'caMelcaSe stRing'
print( my_string.title() )            # आउटपुट Camelcase String है
print( my_string.capitalize() )  # आउटपुट Camelcase string है
print( my_string.upper() )         # आउटपुट CAMELCASE STRING है
print( my_string.lower() )         # आउटपुट camelcase string है

    title() विधि (method) एक स्ट्रिंग शाब्दिक (literal) या एक चर (variable) नाम (जिसके लिए वह स्ट्रिंग शाब्दिक निर्दिष्ट किया गया है) पर लागू की जाती है, प्रत्येक शब्द के पहले अक्षर को बड़ा (अंग्रेजी के uppercase) करती है। लेकिन, capitalize() विधि, केवल स्ट्रिंग शाब्दिक के पहले अक्षर को बड़ा करती है। ये दोनों विधियाँ स्ट्रिंग शाब्दिक के शेष भाग को भी छोटे अक्षर (अंग्रेजी के lowercase) कर देती हैं, चाहे वे बड़े अक्षर (uppercase) हों। यह अन्य प्रोग्रामिंग भाषाओं, जैसे जावास्क्रिप्ट, PHP, आदि के व्यवहार से भिन्न है।

print( 'HELLO WORLD'.title() )   # आउटपुट Hello World है

print( 'HELLO WORLD'.capitalize() )   # आउटपुट Hello world है

    upper() विधि प्रत्येक अक्षर को बड़े अक्षरों (अंग्रेजी के uppercase) में बदल देगी और lower() विधि प्रत्येक अक्षर को छोटे अक्षरों (अंग्रेजी के lowercase) में बदल देगी। इन सभी चार विधियों में कोष्ठक के भीतर कोई तर्क नहीं लिया जाता है।

swapcase(), casefold()

print( 'caMelcaSe stRing'.swapcase() )   # आउटपुट CAmELCAsE STrING है

    आप उपरोक्त उदाहरण में देख सकते हैं कि swapcase()विधि केस (अक्षरों) को स्वैप करती (पलट देती) है, यानी अपरकेस अक्षरों को लोअरकेस में स्वैप किया जाता है, और लोअरकेस अक्षरों को अपरकेस में स्वैप किया जाता है। casefold() विधि केसलेस तुलना के लिए उपयुक्त स्ट्रिंग का एक संस्करण लौटाती है। यह विधि lower() विधि के समान है। हालाँकि, जब casefold() को सीधे स्ट्रिंग शाब्दिक पर लागू किया जाता है, तो लोअरकेस अक्षर आउटपुट होते हैं जैसा कि नीचे दिखाया गया है। ये दोनों विधियाँ भी कोष्ठक के भीतर कोई तर्क नहीं लेती हैं।

print( 'caMelcaSe stRing'.casefold() )   # आउटपुट camelcase string

    casefold() विधि lower() विधि की तुलना में अधिक वर्णों (characters) को लोअरकेस अक्षर में परिवर्तित करती है, जैसा कि निम्नलिखित दो उदाहरणों में, ß जर्मन वर्तनी (orthography) वर्ण है (⟨ſ⟩ {long s} और ⟨z⟩ {⟨ß⟩ के संयुक्ताक्षर से व्युत्पन्न; Eszett को "ess-zed/zee" या scharfes S "sharp s"} कहा जाता है) का उपयोग स्ट्रिंग शाब्दिक के रूप में किया गया है। casefold() विधि अधिक मजबूत, आक्रामक है, और इसका उपयोग print( help( str.casefold ) ) दस्तावेज़ में वर्णित दो स्ट्रिंग अक्षर की तुलना करने के लिए किया जाता है।

print( 'ß'.lower() )   # आउटपुट ß

print( 'ß'.casefold() )   # आउटपुट ss

    निम्नलिखित उदाहरण में, आप देख सकते हैं कि लंबी या बड़ी स्ट्रिंग शाब्दिक दोनों विधियों casefold() और lower() को कैसे लागू किया जाता है। डॉकस्ट्रिंग्स की तरह (जो विशेष रूप से दस्तावेज़ीकरण उद्देश्यों के लिए उपयोग किया जाता है), आप लंबी या बड़ी स्ट्रिंग शाब्दिक के बीच में \ (बैकस्लैश) प्रतीक (जो आपके कीबोर्ड में Enter या Return कुंजी के ठीक ऊपर है) के साथ स्ट्रिंग शाब्दिक भी लिख सकते हैं, और दो सिंगल/डबल उद्धरण, \ (बैकस्लैश) प्रतीक के पहले और बाद में रख सकते हैं।

    आप , (अल्पविराम) प्रतीक का उपयोग किए बिना (जिसका उपयोग दो वस्तुओं (items/elements), या दो तर्कों (arguments), या दो मापदंडों (parameters) के बीच विभाजक (separator) के रूप में किया जाता है) सूची (list) डेटा-प्रकार के एक आइटम (तत्व) के रूप में एक बड़ी स्ट्रिंग भी लिख सकते हैं। आप अगले पृष्ठ में list() (इन-बिल्ट फ़ंक्शन/क्लास) और इसकी विधियों आदि के बारे में अधिक जानेंगे। अन्य अनुक्रम डेटा-प्रकारों की तरह, आप [] (वर्ग कोष्ठक) का उपयोग कर सूची से किसी आइटम (या तत्व) तक पहुंच सकते हैं।

long_string = 'Lorem ipsum dolor sit amet consectetur '\
'adipisicing elit. Harum natus tempore itaque? '\
'Necessitatibus perferendis libero perspiciatis ducimus? '\
'Unde consequuntur, earum, explicabo optio, libero '\
'cumque nihil possimus recusandae delectus laborum maiores?'
  # यह एक स्ट्रिंग है।
print( type( long_string ) )   # आउटपुट <class 'str'> है।
print( long_string )   # उपरोक्त स्ट्रिंग शाब्दिक एक पंक्ति में प्रदर्शित होता है।

list_item = ['Lorem ipsum dolor sit amet consectetur '
'adipisicing elit. Harum natus tempore itaque? '
'Necessitatibus perferendis libero perspiciatis ducimus? '
'Unde consequuntur, earum, explicabo optio, libero '
'cumque nihil possimus recusandae delectus laborum maiores?'
]   # इस सूची में एक तत्व (आइटम) है जो एक स्ट्रिंग है।
print( type( list_item[0] ) )   # आउटपुट <class 'str'> है।

print( long_string is list_item[0] )   # आउटपुट True है क्योंकि दोनों की id() एक जैसी हैं
str_lower = long_string.lower()
item_lower = list_item[0].lower()
print( str_lower is item_lower )   # आउटपुट False है क्योंकि दोनों की id() अलग-अलग हैं
print( str_lower == item_lower )   # आउटपुट True है क्योंकि तुलना अक्षरों की जांच करती है

str_casefold = long_string.casefold()
item_casefold = list_item[0].casefold()
print( str_casefold is item_casefold )   # आउटपुट False है क्योंकि दोनों की id() अलग-अलग हैं
print( str_casefold == item_casefold )   # आउटपुट True है क्योंकि तुलना अक्षरों की जांच करती है

    lower() विधि केवल ASCII वर्णों को लोअरकेस में परिवर्तित करती है। लेकिन casefold() विधि ASCII और गैर-ASCII दोनों वर्णों को लोअरकेस में परिवर्तित करती है। lower() विधि केवल केस-असंवेदनशील स्ट्रिंग तुलना के लिए उपयुक्त है। लेकिन casefold() विधि केस-सेंसिटिव और केस-इनसेंसिटिव स्ट्रिंग तुलना दोनों के लिए उपयुक्त है। lower() विधि casefold() विधि की तुलना में उच्च प्रदर्शन प्रदान करती है जो lower() की तुलना में धीमी है।

istitle(), isupper(), islower()

print( 'Hello World'.istitle() )   # आउटपुट True है

print( 'HELLO WORLD'.isupper() )   # आउटपुट True है

print( 'hello world'.islower() )   # आउटपुट True है

    कभी-कभी, आपको यह जांचने की आवश्यकता होती है कि उपयोगकर्ता (आम जनता) ने सही अक्षर-केस दर्ज किया है (उदाहरण के लिए, ईमेल और वेबसाइट यूआरएल लोअरकेस में होना चाहिए), या कुछ संख्या (उदाहरण के लिए, उम्र '32' है, न कि 'बत्तीस'), आदि। उन स्थितियों में ये सभी स्ट्रिंग विधियां (जो is के साथ उपसर्ग (prefix) करती हैं) बहुत मददगार हैं। उपरोक्त तीन उदाहरणों में, आप देख सकते हैं कि अन्य मामलों में यदि इन उपर्युक्त विधियों का उपयोग किया जाता है, तो आउटपुट False होगा।

isnumeric(), isdigit(), isdecimal()

print( '12'.isnumeric() )   # आउटपुट True है

print( '12abc'.isnumeric() )   # आउटपुट False है

print( '12'.isdigit() )   # आउटपुट True है

print( '12.5'.isdecimal() )   # आउटपुट False है

    isdigit(स्वयं, /) - यदि स्ट्रिंग एक अंक-स्ट्रिंग है तो True लौटें, अन्यथा False लौटें। एक स्ट्रिंग एक अंकीय-स्ट्रिंग है यदि स्ट्रिंग में सभी वर्ण अंक हैं और स्ट्रिंग में कम से कम एक वर्ण है।
    isnumeric(स्वयं, /) - यदि स्ट्रिंग एक संख्यात्मक स्ट्रिंग है तो True लौटें, अन्यथा False लौटें। एक स्ट्रिंग संख्यात्मक होती है यदि स्ट्रिंग में सभी वर्ण संख्यात्मक हों और स्ट्रिंग में कम से कम एक वर्ण हो।
    isdecimal(स्वयं, /) यदि स्ट्रिंग दशमलव स्ट्रिंग है तो True लौटें, अन्यथा False लौटें। एक स्ट्रिंग एक दशमलव स्ट्रिंग है यदि स्ट्रिंग में सभी वर्ण दशमलव हैं और स्ट्रिंग में कम से कम एक वर्ण है।

isalnum(), isalpha()

print( '12abc'.isalnum() )   # आउटपुट True है

print( 'abc'.isalnum() )   # आउटपुट True है

print( '12abc'.isalpha() )   # आउटपुट False है

print( 'abc'.isalpha() )   # आउटपुट True है

    उपरोक्त दो विधियों के साथ कोई विशेष वर्ण, जैसे '=', '+', '-', आदि के आउटपुट False होंगे.


Leave a Comment: