Home › Hindi › String methods Hindi
Python string methods Hindi में — split, join, strip और slicing
🌐 यह page Hindi में है · Read this in English →
हर method का outputStrings immutable क्यों हैंFree browser practice
सबसे पहले: strings बदलती नहीं हैं
यह Python का सबसे ज़रूरी string rule है — कोई भी string method original string को नहीं बदलता। हर method एक नई string बनाकर लौटाता है।
naam = "riya"
naam.upper()
print(naam) # riya ❌ बदली ही नहीं
naam = "riya"
naam = naam.upper() # ✅ result वापस store करो
print(naam) # RIYA
यही galti board exam के output questions में सबसे ज़्यादा पूछी जाती है। Result को किसी variable में डालना मत भूलो।
Case बदलने वाले methods
s = "hello PyDebug"
print(s.upper()) # HELLO PYDEBUG
print(s.lower()) # hello pydebug
print(s.title()) # Hello Pydebug
print(s.capitalize()) # Hello pydebug
print(s.swapcase()) # HELLO pYdEBUG
Case भूलकर तुलना करनी हो तो दोनों तरफ .lower() लगाओ — यह login और search में रोज़ काम आता है:
if input("Naam: ").lower() == "riya":
print("Milta hai")
strip, split और join — सबसे ज़्यादा काम के तीन
s = " Riya Sharma "
print(s.strip()) # "Riya Sharma" दोनों तरफ के space हटे
print(s.lstrip()) # बाईं तरफ से
print(s.rstrip()) # दाईं तरफ से
print("file.txt".strip(".txt")) # "file" — characters हटाता है, शब्द नहीं!
line = "aam,kela,seb"
print(line.split(",")) # ['aam', 'kela', 'seb']
print("a b c".split()) # ['a', 'b', 'c'] — बिना argument के सारे space सँभाल लेता है
words = ["aam", "kela", "seb"]
print(", ".join(words)) # aam, kela, seb
join() उल्टा लिखा जाता है — जोड़ने वाला separator पहले आता है, list बाद में। और join() सिर्फ strings की list पर चलता है; numbers होंगे तो TypeError आएगा। पहले बदलो: ", ".join(str(x) for x in nums)
ढूँढना और बदलना
s = "Python seekhna aasan hai"
print("seekhna" in s) # True — सबसे आसान तरीका
print(s.find("aasan")) # 16 — न मिले तो -1
print(s.index("aasan")) # 16 — न मिले तो ValueError
print(s.count("a")) # 6
print(s.replace("aasan", "mazedar"))
print(s.startswith("Python")) # True
print(s.endswith("hai")) # True
find() और index() में यही एक फर्क है: न मिलने पर find() चुपचाप -1 देता है, index() crash कर देता है। सिर्फ "है या नहीं" पूछना हो तो in ही सबसे साफ है।
Slicing और indexing
s = "PyDebug"
print(s[0]) # P
print(s[-1]) # g आखिरी character
print(s[0:2]) # Py index 2 शामिल नहीं
print(s[2:]) # Debug
print(s[:2]) # Py
print(s[::-1]) # gubeDyP — string उल्टी करने का तरीका
print(len(s)) # 7
print(s * 2) # PyDebugPyDebug
Character बदलने की कोशिश मत करना — s[0] = "X" लिखोगे तो TypeError: 'str' object does not support item assignment आएगा। नई string बनाओ: s = "X" + s[1:]
जाँच करने वाले methods और f-string
print("123".isdigit()) # True — सिर्फ numbers
print("abc".isalpha()) # True — सिर्फ अक्षर
print("abc1".isalnum()) # True — अक्षर या numbers
print(" ".isspace()) # True — सिर्फ space
print("".isdigit()) # False — खाली string हमेशा False
User input जाँचने में isdigit() सबसे काम आता है, पर strip() पहले लगाओ: input().strip().isdigit()।
और strings बनाने का सबसे साफ तरीका f-string है:
naam, marks = "Riya", 92
print("Naam: " + naam + ", marks: " + str(marks)) # पुराना, लंबा
print(f"Naam: {naam}, marks: {marks}") # ✅ साफ
print(f"Percent: {marks / 100:.2f}") # 0.92 तक 2 decimal
शुरू का f भूल गए तो Python curly braces को वैसा का वैसा छाप देगा — Naam: {naam}। कोई error नहीं आएगा, इसलिए यह galti पकड़ना मुश्किल है।
🛠️ Practice करो (free, browser में)
पढ़ना काफी नहीं — यही bug खुद fix करके देखो। नीचे के problems browser में ही चलते हैं, कोई install नहीं, कोई login नहीं।
- Negative indexing — s[-1] का मतलब
- String repetition और length — s * 2 का output
- String multiplication और indexing — output predict करो
अक्सर पूछे जाने वाले सवाल
naam.upper() लिखने पर string बदलती क्यों नहीं?
क्योंकि Python में strings immutable हैं — हर method एक नई string लौटाता है, पुरानी को नहीं बदलता। result वापस store करो: naam = naam.upper()।
split() और join() में क्या फर्क है?
split() एक string को तोड़कर list बनाता है, join() एक list को जोड़कर string बनाता है। join() उल्टा लिखा जाता है — separator पहले आता है: ", ".join(words)।
join() में TypeError क्यों आता है?
क्योंकि join() सिर्फ strings की list पर चलता है। list में numbers हों तो पहले बदलो: ", ".join(str(x) for x in nums)।
Python में string उल्टी कैसे करें?
s[::-1] लिखो — यह slicing का -1 step है और पूरी string उल्टी कर देता है। "PyDebug"[::-1] का output gubeDyP होगा।