Seedha content par jao
🤖 Python Hindi Bot
Namaste! Main Python Hindi Bot hoon 🐍
Python ya AI se related kuch bhi type karke pucho, ya neeche se quick sawaal chuno.
WhatsApp

Stay Connected with PythonHindii

Join our WhatsApp Community to get the latest Python tutorials, coding tips, interview questions, project updates, and learning resources directly on your phone.

Join WhatsApp Community
⇧
Python Hindi Logo
Python in Hindi | Programming Education
🎓 100% Free · Hindi me · Beginner se Career tak

Python Tutorial in HindiiLearn Python Programming for Free

Python, AI, Data Analytics aur SQL ek hi jagah, simple Hindi me. Padho, browser me code chalao, projects banao aur career shuru karo.

main.py
# Python seekho, Hindi me naam = "Ravi" for i in range(3): print("Namaste", naam)
▸ python main.py
🐍 Python 🤖 AI & ML 📊 Data 🗄️ SQL

Chahe Student ho ya Professional, yahan aapke liye sab hai

Apna card chuno, seedha sahi jagah pahunch jaoge.

🎓

Student ho?

School ya college me ho? Python zero se seekho, notes aur cheat sheets ke saath.

  • Python basics se OOP tak
  • Notes, PDFs aur Cheat Sheets
  • Browser me practice, kuch install nahi
💼

Working Professional ho?

Kaam ke saath nayi skill jodo: data, SQL aur AI se apna kaam tez karo.

  • Pandas, NumPy, Excel, Power BI
  • SQL aur MySQL databases
  • Automation aur AI Tools
🚀

Job ya Career change?

Projects banao, interview ki taiyari karo aur sahi roadmap follow karo.

  • Real projects, portfolio ke liye
  • Python aur SQL interview questions
  • AI Engineer, Data Scientist roadmap

Python Hindii Kaise Kaam Karta Hai?

Ek hi jagah 4 layers: seekho, practice karo, skills banao aur career shuru karo. Har layer ek step hai, us par click karke seedha wahan pahuncho. Computer par drag karke 3D me ghumao bhi.

Layer 1 · Seekho

Python Basics se Advanced tak

Variables, loops, functions se OOP tak, sab simple Hindi me. Yahin se shuru karo.

Naye ho? 3 step me shuru karo

💻 Online Code Editor

Browser me hi code likho aur turant chalao

Koi software install nahi. Code likho, Run dabao aur result usi waqt dekho.

  • Python, Java, C, C++, JavaScript, HTML aur aur bhi languages
  • input(), graphs aur multi-file HTML project bhi chalte hain
  • Mobile aur computer, dono par chalta hai
main.py
naam = input("Naam batao: ") for i in range(3): print("Namaste", naam)
▸ python main.py
PythonJavaCC++JavaScriptHTML

Python se AI tak ka poora rasta

8 steps, ek ke baad ek. Aage-peeche ghumao aur apni stage se seedha shuru karo.

Step 1 🐍

Python Basics

IntroductionVariablesData TypesOperatorsInput & OutputConditionsLoops
Start Python →
Step 2 💻

Python Intermediate

ListsTuplesSetsDictionariesStringsModulesFile Handling
Continue Python →
Step 4 🗄️

SQL & Databases

SQL BasicsMySQLSELECTINSERTUPDATEDELETEJOIN
Learn SQL →
Step 5 📊

Data Analytics

NumPyPandasData CleaningData VisualizationMatplotlibExploratory Data Analysis
Learn Data Analytics →
Step 6 🤖

Machine Learning

ML BasicsSupervised & Unsupervised LearningRegressionClassificationModel EvaluationScikit-learn
Learn Machine Learning →
Step 7 🧠

Artificial Intelligence

AI FundamentalsGenerative AIAI ToolsPrompt EngineeringLLM ConceptsAI Automation
Explore AI →
Step 8 🚀

Projects & Career

Python ProjectsAI ProjectsData ProjectsPortfolioGitHubInterview PreparationCareer Roadmap
Build Your Career →
Step 1 / 8

Python Iterator and Iterable Explained in Hindi: A Complete Guide

Python Iterator Explained in Hindi

Python Iterator और Iterable क्या है?

जब भी हम Python में किसी List, Tuple या String पर for loop चलाते हैं, तो परदे के पीछे एक खास मैकेनिज्म काम कर रहा होता है। Python का यही कोर कॉन्सेप्ट कहलाता है — Iterators और Iterables। अगर आप Python में मेमोरी को बचाना और बड़े डेटा पर बिना अटके काम करना चाहते हैं, तो Iterator का वर्किंग मॉडल समझना बेहद जरूरी है।

अगर आपने अभी तक Python Loops और Control Flow या Python Classes & Objects नहीं पढ़ा है, तो उन्हें जरूर देखें। सभी कोड एग्जांपल्स को लाइव रन करने के लिए आप हमारा Online Python Editor & Compiler इस्तेमाल कर सकते हैं।

⚠️ इस Lesson का Scope: इस प्रैक्टिकल ट्यूटोरियल में हम Iterable और Iterator का अंतर, iter() और next() फ़ंक्शंस, StopIteration एक्सेप्शन, for loop का आंतरिक लॉजिक, स्टेट मेंटेनेंस, और कस्टम Iterator क्लास (__iter__() व __next__()) बनाना सीखेंगे।

Iterable क्या है?

Iterable वह ऑब्जेक्ट होता है जिसके ऊपर हम लूप चला सकते हैं और जिससे एक-एक करके आइटम्स निकाले जा सकते हैं। उदाहरण के तौर पर List, Tuple, String, Set, और Dictionary सभी Iterables हैं।

तकनीकी तौर पर, कोई भी ऑब्जेक्ट जिसके अंदर __iter__() मेथड मौजूद होता है, वह Iterable कहलाता है।

Iterator क्या है?

Iterator वह ऑब्जेक्ट होता है जो असल में एक समय पर एक वैल्यू देता है और अपनी करंट स्टेट (यानी वह किस एलिमेंट पर था) को याद रखता है।

Iterator बनने के लिए किसी भी ऑब्जेक्ट के पास दो खास मेथड्स होने जरूरी हैं, जिन्हें Iterator Protocol कहा जाता है:

  1. __iter__() — जो खुद Iterator ऑब्जेक्ट को रिटर्न करता है।
  2. __next__() — जो अगला आइटम रिटर्न करता है और आइटम्स खत्म होने पर StopIteration एरर उठाता है।

Iterable vs Iterator: मुख्य अंतर

विशेषता (Feature)IterableIterator
परिभाषाडेटा का कलेक्शन जिसपर लूप चलाया जा सकेवह ऑब्जेक्ट जो एक-एक करके आइटम निकालता है
उदाहरणList, Tuple, String, Dictiter(list) से बना ऑब्जेक्ट
मेथड सपोर्टमुख्य रूप से __iter__()__iter__() और __next__() दोनों
next() का इस्तेमालसीधे next() नहीं लगा सकतेnext() का इस्तेमाल कर सकते हैं
State Memoryपॉइंटर या स्टेट याद नहीं रखताकरंट एलिमेंट की स्टेट याद रखता है

iter() और next() Built-in Functions

Python में किसी Iterable से Iterator बनाने के लिए हम iter() फ़ंक्शन का इस्तेमाल करते हैं, और आगे का एलिमेंट पाने के लिए next() फ़ंक्शन का उपयोग करते हैं।

Example — iter() और next() का इस्तेमाल (VS Code Ready)
# Ek simple list (Iterable) fruits = ["Apple", "Banana", "Cherry"] # Iterable ko Iterator me badla fruit_iterator = iter(fruits) # next() se ek-ek karke element fetch karna print(next(fruit_iterator)) print(next(fruit_iterator)) print(next(fruit_iterator))

Output:

Apple Banana Cherry

हर बार जब आप next() कॉल करते हैं, Iterator आगे बढ़ता है और अगली वैल्यू लौटाता है।

Try it Yourself »
fruits (List - Iterable) │ ▼ iter(fruits) fruit_iterator (Iterator) │ ├──► next() ──► "Apple" (State saved at index 0) ├──► next() ──► "Banana" (State saved at index 1) └──► next() ──► "Cherry" (State saved at index 2)
🎥 Video में पूरा Topic समझें

StopIteration क्या है?

जब Iterator के सारे एलिमेंट्स खत्म हो जाते हैं और हम फिर भी next() कॉल करने की कोशिश करते हैं, तो Python StopIteration नाम का एक्सेप्शन देता है।

❌ StopIteration Error Example
nums = [10, 20] my_iter = iter(nums) print(next(my_iter)) # 10 print(next(my_iter)) # 20 print(next(my_iter)) # StopIteration Error!

Error Message:

StopIteration

यह कोई बग नहीं है, बल्कि Python का तरीका है यह बताने का कि अब डेटा खत्म हो चुका है।

💡 Default Fallback: आप next(iterator, default_value) लिखकर एरर से बच सकते हैं। जैसे: next(my_iter, "Khatam!")।

for Loop और Iterator का अंदरूनी Connection

क्या आपने कभी सोचा है कि for loop में StopIteration एरर क्यों नहीं आता? क्योंकि for loop बैकग्राउंड में यही सब कुछ ऑटोमैटिक करता है:

Example — for Loop का अंदरूनी कोड (Behind the Scenes)
numbers = [1, 2, 3] # Ye hai jo 'for x in numbers:' asal me karta hai: it = iter(numbers) while True: try: x = next(it) print(x) except StopIteration: break # Data khatam hote hi loop safely band ho jata hai

Output:

1 2 3

Python का for loop असल में iter() बनाकर next() चलाता है और StopIteration आते ही बिना किसी क्रैश के लूप बंद कर देता है।

Try it Yourself »

Iterator अपनी State कैसे Maintain करता है?

Iterator की सबसे बड़ी खूबी यह है कि वह Lazy Evaluation करता है। वह मेमोरी में सारे एलिमेंट्स एक साथ लोड नहीं करता, बल्कि सिर्फ यह याद रखता है कि वह अभी किस नंबर या इंडेक्स पर था। जब आप अगली वैल्यू मांगते हैं, तभी वह वैल्यू कैलकुलेट करके देता है। इससे बहुत बड़े डेटासेट्स में रैम (RAM) की भारी बचत होती है।

Custom Iterator कैसे बनाएं? (__iter__ और __next__)

खुद का कस्टम Iterator बनाने के लिए हमें अपनी Class के अंदर दो स्पेशल मेथड्स लागू करने होते हैं:

  1. __iter__(self): यह हमेशा self रिटर्न करता है।
  2. __next__(self): यह अगली वैल्यू रिटर्न करता है और लिमिट पूरी होने पर raise StopIteration करता है।
Example — 1 से N तक गिनने वाला Custom Iterator (Top-Down Counter)
class Counter: def __init__(self, limit): self.limit = limit self.current = 1 def __iter__(self): return self def __next__(self): if self.current <= self.limit: val = self.current self.current += 1 return val else: raise StopIteration # Custom Iterator ka istemal count = Counter(3) for num in count: print("Ginti:", num)

Output:

Ginti: 1 Ginti: 2 Ginti: 3

यहाँ हमारी Counter क्लास पूरी तरह एक इटरेटर की तरह काम कर रही है और StopIteration के कारण लूप सही समय पर रुक जाता है।

Try it Yourself »

Common Beginner Mistakes

❌ सीधे Iterable पर next() कॉल करना
my_list = [1, 2, 3] print(next(my_list)) # TypeError: 'list' object is not an iterator
✅ सही तरीका
my_list = [1, 2, 3] my_iter = iter(my_list) print(next(my_iter)) # Bilkul sahi (1)
❌ एक बार खत्म हुए Iterator को दोबारा चलाने की कोशिश करना

Iterator सिर्फ एक बार आगे बढ़ता है। एक बार सारे आइटम्स खत्म हो जाने के बाद वह खाली हो जाता है। अगर आपको दोबारा चलना है, तो नया iter() बनाना होगा।

❌ Custom Iterator में StopIteration न लगाना (Infinite Loop)

अगर आप __next__() में StopIteration नहीं उठाएंगे, तो for loop कभी रुकेगा ही नहीं और आपका प्रोग्राम हैंग हो जाएगा।

Exercise ?

अगर एक Iterator के सारे एलिमेंट्स खत्म हो चुके हैं और फिर से next() कॉल किया जाए, तो कौन सा एरर आता है?

A) ValueError
B) StopIteration
C) IndexError

Beginner Practical Coding Challenge

अब अपने Online Python Editor में इस चैलेंज को पूरा करके टेस्ट करें:

  1. EvenNumbers नाम की एक कस्टम क्लास बनाइए जो कंस्ट्रक्टर में एक max_limit ले।
  2. उस क्लास में __iter__() और __next__() मेथड्स डिफाइन कीजिए ताकि वह केवल Even Numbers (2, 4, 6...) ही रिटर्न करे।
  3. जब संख्या max_limit से ज्यादा हो जाए, तो StopIteration एरर उठाइए।
  4. EvenNumbers(10) का ऑब्जेक्ट बनाकर for loop की मदद से 2 से 10 तक के नंबर्स स्क्रीन पर प्रिंट कीजिए।

Quick Revision

Conceptविवरण
Iterableकलेक्शन जिसपर लूप चले (उदा. List, String, Tuple)
Iteratorऑब्जेक्ट जो next() के जरिए एक-एक एलिमेंट देता है
iter()Iterable को Iterator में बदलने वाला फ़ंक्शन
next()Iterator से अगली वैल्यू निकालने वाला फ़ंक्शन
StopIterationआइटम्स खत्म होने पर आने वाला सिग्नल/एक्सेप्शन
__iter__() + __next__()Python का Iterator Protocol (कस्टम क्लास के लिए)

FAQ

Python में Iterator और Iterable में क्या फर्क है?

Iterable वह डेटा ढांचा (जैसे List) है जिसके पास सारे एलिमेंट्स होते हैं, जबकि Iterator वह पॉइंटर है जो एक समय में सिर्फ एक एलिमेंट को याद रखता है और आगे बढ़ाता है।

क्या हम किसी List पर सीधे next() लगा सकते हैं?

नहीं, List केवल एक Iterable है। पहले iter(list) करके उसे Iterator बनाना होगा, तभी next() काम करेगा।

Iterator का सबसे बड़ा फायदा क्या है?

मेमोरी की बचत। बड़े डेटासेट्स में लाखों रिकॉर्ड्स को एक साथ RAM में लोड करने के बजाय Iterator एक समय पर केवल एक ही रिकॉर्ड प्रोसेस करता है।

क्या Iterator को reset किया जा सकता है?

नहीं, Iterator केवल आगे की दिशा में एक बार ही चलता है। दोबारा शुरू करने के लिए आपको नया Iterator ऑब्जेक्ट बनाना पड़ता है।

Summary

Iterable = जिसपर लूप चलाया जा सके | Iterator = जो एक-एक करके वैल्यू दे और अपनी स्थिति याद रखे।

इस ट्यूटोरियल में आपने सीखा कि Iterator क्या है, iter() और next() कैसे काम करते हैं, for loop परदे के पीछे कैसे चलता है, और कस्टम क्लासेस में __iter__() व __next__() जोड़कर अपना खुद का Iterator कैसे तैयार किया जाता है।

ऊपर दिया गया EvenNumbers कोडिंग चैलेंज तुरंत सॉल्व करें और अपनी स्किल्स मजबूत करें।

Related Articles

🧑‍💻 Python Coding Lab

Python code likho, run karo aur practice karo — directly browser mein.