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
find(), rfind(), startswith(), endswith() in Category: पाइथन by amit
🕙 Posted on 2023-07-17 at 19:49:24
अधिक स्ट्रिंग विधियाँ
पिछले पृष्ठ में, आपने count()
, index()
, rindex()
विधियों के बारे में सीखा है जो न केवल उप-स्ट्रिंग की घटना (occurrences) और स्थिति (position) के बारे में बताते हैं, बल्कि यह भी जांचते हैं कि वह उप-स्ट्रिंग मूल स्ट्रिंग में मौजूद है या नहीं। ये तीन स्ट्रिंग विधियां प्रारंभिक स्थिति (शामिल) और अंतिम स्थिति (बहिष्कृत) के लिए दूसरे और तीसरे तर्क भी लेती हैं। ये दो स्थितियाँ (positions) सूचकांक (index) संख्या हैं जिसके भीतर उप-स्ट्रिंग की खोज की जानी है।
print( 'Hello World'.count( 'a' ) ) # आउटपुट 0 है।
print( 'Hello World'.index( 'a' ) ) # आउटपुट ValueError: substring not found है।
print( 'Hello World'.rindex( 'a' ) ) # आउटपुट ValueError: substring not found है।
हालाँकि, अन्य स्ट्रिंग विधियाँ हैं जो ठीक से जाँच सकती हैं कि कोई उप-स्ट्रिंग मूल स्ट्रिंग में मौजूद है या नहीं। मैंने विशेष रूप से इन विधियों या अंतर्निहित फ़ंक्शंस के (प्रत्येक के) नाम का help()
फ़ंक्शन के साथ आउटपुट का उल्लेख किया है, जब इनको कोष्ठक के भीतर एक तर्क के रूप में रखा जाता है। आपको रिटर्न प्रकार और इन विधियों या अंतर्निहित फ़ंक्शंस के रिटर्न मान (value) को ध्यानपूर्वक अध्ययन करना चाहिए, जिनका उपयोग आप प्रोग्रामिंग स्क्रिप्ट में करेंगे। विवरण के लिए इस पृष्ठ के नीचे देखें।
find(), rfind()
find()
और rfind()
विधियाँ क्रमशः (1) बाएँ से दाएँ और (2) दाएँ से बाएँ खोजकर जाँचती हैं कि मूल स्ट्रिंग में कोई उप-स्ट्रिंग मौजूद है या नहीं। इन दो तरीकों में से प्रत्येक प्रारंभिक स्थिति (शामिल) और अंतिम स्थिति (बहिष्कृत) के लिए दूसरे और तीसरे तर्क भी लेती है। ये दो विधियाँ -1 वापस करती हैं जब उप-स्ट्रिंग नहीं मिलती है, अन्यथा उस उप-स्ट्रिंग की सूचकांक संख्या वापस किया जाता है।
print( help( str.find ) )
Help on method_descriptor:
find(...)
S.find(sub[, start[, end]]) -> int
Return the lowest index in S where substring sub is found,
such that sub is contained within S[start:end]. Optional
arguments start and end are interpreted as in slice notation.
Return -1 on failure.
None
print( help( str.rfind ) )
Help on method_descriptor:
rfind(...)
S.rfind(sub[, start[, end]]) -> int
Return the highest index in S where substring sub is found,
such that sub is contained within S[start:end]. Optional
arguments start and end are interpreted as in slice notation.
Return -1 on failure.
None
print( 'Hello World'.find( 'r' ) ) # आउटपुट 8 है।
print( 'Hello World'.find( 'a' ) ) # आउटपुट -1 है।
print( 'Hello World'.find( 'l' ) ) # आउटपुट 2 है।
print( 'Hello World'.find( 'l', 5, 10 ) ) # आउटपुट 9 है।
print( 'Hello World'.rfind( 'r' ) ) # आउटपुट 8 है।
print( 'Hello World'.rfind( 'a' ) ) # आउटपुट -1 है।
print( 'Hello World'.rfind( 'l' ) ) # आउटपुट 9 है।
print( 'Hello World'.rfind( 'l', 2, 5 ) ) # आउटपुट 3 है।
यदि आप तीसरे तर्क की स्थिति नहीं जानते हैं, तो उपरोक्त सभी स्ट्रिंग विधियों में, आप -1 या -2, आदि (अंतिम सूचकांक संख्या, यानी नकारात्मक सूचकांक) भी रख सकते हैं।
startswith(), endswith()
startswith()
और endswith()
विधियों का उपयोग यह जांचने के लिए किया जाता है कि क्या कोई उप-स्ट्रिंग मूल स्ट्रिंग के उपसर्ग (prefix) या प्रत्यय (suffix) के रूप में मौजूद है। ये दो विधियाँ प्रारंभिक स्थिति (शामिल) और समाप्ति स्थिति (बहिष्कृत) के लिए दूसरे और तीसरे तर्क भी लेते हैं।
print( help( str.startswith ) )
Help on method_descriptor:
startswith(...)
S.startswith(prefix[, start[, end]]) -> bool
Return True if S starts with the specified prefix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
prefix can also be a tuple of strings to try.
None
print( help( str.endswith ) )
Help on method_descriptor:
endswith(...)
S.endswith(suffix[, start[, end]]) -> bool
Return True if S ends with the specified suffix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
suffix can also be a tuple of strings to try.
None
print( 'Hello World'.startswith( 'h' ) ) # आउटपुट False है।
print( 'Hello World'.startswith( 'H' ) ) # आउटपुट True है।
print( 'Hello World'.startswith( 'He' ) ) # आउटपुट True है।
print( 'Hello World'.startswith( 'Wo', 6, 10 ) ) # आउटपुट True है।
print( 'Hello World'.endswith( 'd' ) ) # आउटपुट True है।
print( 'Hello World'.endswith( 'D' ) ) # आउटपुट False है।
print( 'Hello World'.endswith( 'ld' ) ) # आउटपुट True है।
print( 'Hello World'.endswith( 'o', 2, 5 ) ) # आउटपुट True है।
रिटर्न प्रकार और रिटर्न मूल्य
अब तक, आपने विभिन्न अंतर्निहित फ़ंक्शन्स और कुछ अंतर्निहित फ़ंक्शन्स के लिए विधियाँ भी देखी हैं। कुछ फ़ंक्शन्स और विधियाँ कई तर्क (arguments) ले सकते हैं, जैसे कि print()
कोष्ठक के भीतर , (अल्पविराम) द्वारा अलग किए गए कई तर्क ले सकता है। अन्य फ़ंक्शन्स और विधियाँ वास्तव में केवल एक ही तर्क लेते हैं, जैसे कि input()
, type()
, len()
, आदि। अधिकतर, फ़ंक्शन्स और विधियाँ निश्चित संख्या में तर्क लेते हैं, जैसा कि आप उपरोक्त उदाहरणों में देख सकते हैं, जिनमें से कुछ तर्क वैकल्पिक हैं।
Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec 6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> help( print )
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
आप उपरोक्त विवरण में देख सकते हैं कि print()
फ़ंक्शन का कोई लौटाया गया मान (returned value) नहीं है। किसी भी फ़ंक्शन, विधि या अन्य मॉड्यूल में कई पैरामीटर उन्नत (advanced) उपयोग (uses) के हो सकते हैं। आप उपरोक्त विवरण में देख सकते हैं, print()
फ़ंक्शन के value, ..., के बाद अन्य पैरामीटर हैं, जो शुरुआती विद्यार्थी के लिए अनावश्यक (unnecessary) हैं, और इस प्रकार, आप अभिभूत (overwhelm) हो सकते हैं।
print( help( print ) ) # यहां, help() के अंदर print, जैसा कि ऊपर दिखाया गया है, वही आउटपुट प्रदर्शित होगा। बाहरी print() फ़ंक्शन help( print ) कथन को निष्पादित करता है।
print( help( type ) ) # आउटपुट की पहली कुछ पंक्तियाँ यहाँ नीचे दिखाई गई हैं:
class type(object)
| type(object) -> the object's type
| type(name, bases, dict, **kwds) -> a new type
|
| Methods defined here:
|
कुछ फ़ंक्शंस के आउटपुट को लौटाए गए मान के रूप में उपयोग नहीं किया जा सकता है, जैसे कि print()
और type()
। लेकिन, अन्य फ़ंक्शन और विधियां आम तौर पर, विशिष्ट डेटा-प्रकार शाब्दिक (रिटर्न प्रकार) आउटपुट करते हैं, यानी len()
पूर्णांक डेटा-प्रकार लौटाता है, input()
स्ट्रिंग डेटा-प्रकार लौटाता है। अंकगणितीय संचालन में उपयोग करने से पहले input()
फ़ंक्शन से आउटपुट को हमेशा टाइप-कास्ट int()
या float()
अंतर्निहित फ़ंक्शन के साथ करना चाहिए।
x = type( 'hello' )
print( x, type( x ) ) # आउटपुट <class 'str'> <class 'type'> है।
y = len( 'hello' )
print( y, type( y ) ) # आउटपुट 5 <class 'int'> है।
z = input( 'Write something: ' )
print( type( z ) ) # आउटपुट <class 'str'> है।
स्ट्रिंग विधियाँ रिटर्न प्रकार और रिटर्न मान
किसी विशिष्ट अंतर्निहित फ़ंक्शन, उदाहरण के लिए str()
की किसी भी विधि का उपयोग करते समय आपको बहुत सावधान रहना चाहिए। str() फ़ंक्शन स्वयं दिए गए तर्क का एक स्ट्रिंग डेटा-प्रकार लौटाता है। निम्नलिखित तालिका में, आप देख सकते हैं कि विभिन्न विधियाँ या फ़ंक्शन जो समान डेटा-प्रकार लौटा सकते हैं, लेकिन लौटाया गया मान भिन्न होगा, जो कोष्ठक के अंदर तर्क के रूप में पारित अभिव्यक्तियों (कथनों) पर निर्भर करता है। उदाहरण के लिए, जब find()
या rfind()
के द्वारा मूल स्ट्रिंग में उप-स्ट्रिंग नहीं मिलती है, -1 सूचकांक संख्या नहीं है।
my_var = str( 123 )
print( my_var, type( my_var ) ) # आउटपुट 123 <class 'str'> है।
method/ | लौटाया गया प्रकार | लौटाया गया मान |
---|---|---|
len() | int | कंटेनर में वर्णों या आइटमों की कुल संख्या |
count() | int | उप-स्ट्रिंग की गैर-अतिव्यापी (non-overlapping) घटनाएँ (occurrences) |
index() | int | इंडेक्स संख्या (सकारात्मक) या ValueError |
rindex() | int | इंडेक्स संख्या (सकारात्मक) या ValueError |
find() | int | इंडेक्स संख्या (सकारात्मक) या -1 (जब नहीं मिलता है) |
rfind() | int | इंडेक्स संख्या (सकारात्मक) या -1 (जब नहीं मिलता है) |
startswith | bool | True या False |
endswith | bool | True या False |
title() | str | पैरेंट स्ट्रिंग में प्रत्येक शब्द का पहला अक्षर अपरकेस में और अन्य वर्ण लोअरकेस में। |
capitalize() | str | पैरेंट स्ट्रिंग का पहला अक्षर अपरकेस में और अन्य वर्ण लोअरकेस में। |
upper() | str | मूल स्ट्रिंग के सभी अक्षर अपरकेस में |
lower() | str | मूल स्ट्रिंग के सभी अक्षर लोअरकेस में |
swapcase() | str | मूल स्ट्रिंग के सभी अक्षरों को विपरीत स्थिति में स्वैप (फ़्लिप) किया जाता है। |
casefold() | str | मूल स्ट्रिंग के सभी अक्षर लोअरकेस में परिवर्तित हो जाते हैं। |
istitle() | bool | True या False |
isupper() | bool | True या False |
islower() | bool | True या False |
isnumeric() | bool | True या False |
isdigit() | bool | True या False |
isdecimal() | bool | True या False |
isalnum() | bool | True या False |
isalpha() | bool | True या False |
आपको हमेशा याद रखना चाहिए कि किसी फ़ंक्शन या विधि से कौन सा डेटा-प्रकार लौटाया जाता है, और यह भी कि ऐसे ऑपरेशन, अभिव्यक्ति या कथन से क्या मूल्य प्राप्त होता है। एक पूर्णांक मान, उदाहरण के लिए, 9 एक पैरेंट स्ट्रिंग में सूचकांक संख्या हो सकती है, और इसलिए इसे अंकगणितीय परिचालनों के लिए व्यवहारित/
Leave a Comment:
Amit Sinha March 2nd, 2023 at 9:30 PM
😃 😄 😁 😆 😅 😂 😉 😊 😇 😍 😘 😚 😋 😜 😝 😶 😏 😒 😌 😔 😪 😷 😵 😎 😲 😳 😨 😰 😥 😢 😭 😱 😖 😣 😞 😓 😩 😫 😤
Ribhu March 3rd, 2023 at 9:30 PM
🐵 🐒 🐶 🐩 🐺 🐱 🐯 🐅 🐆 🐴 🐎 🐮 🐂 🐃 🐄 🐷 🐖 🐗 🐽 🐏 🐑 🐐 🐪 🐫 🐘 🐭 🐁 🐀 🐹 🐰 🐇